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

'hasOwnProperty' in javascript -

python - ValueError: No axis named 1 for object type <class 'pandas.core.series.Series'> -

java - How to provide dependency injections in Eclipse RCP 3.x? -