javascript - Regular Expression to match two similar word -


i run problem regular expression won't match 2 similar words:

example:

bitcoin , bitcoin atm 

regular expression:

new regexp("(?:^|\\b)(bitcoin|bitcoin atm|test bitcoin)(?!\\w)"); 

here's demo :

(function myfunction() {        var str = "bitcoin , bitcoin atm , test , test , new test";            var patt = new regexp("(?:^|\\b)(bitcoin|bitcoin atm|test|test a|new test)(?!\\w)", "g");            var res = str.match(patt);            document.getelementbyid("demo").innerhtml = res;        })()
p{    font-size: 30px;  }
<p id="demo"></p>

move more specific matches higher priority in matching pattern.

(function myfunction() {        var str = "bitcoin , bitcoin atm , test , test , new test";        var patterns = ['bitcoin', 'bitcoin atm','test', 'test a', 'new text'];        patterns.sort(function(a,b){return b.length - a.length})            var patt = new regexp("(?:^|\\b)(" + patterns.join('|') + ")(?!\\w)", "g");            var res = str.match(patt);            document.getelementbyid("demo").innerhtml = res;        })()
p{    font-size: 30px;  }
<p id="demo"></p>


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -