我想搜索这个词:'#foo'
在这个字符串中:
first foo second #foo
这样只有最后一个'#foo'(带'#')才匹配
我使用此代码会导致两个错误:
var mySearch ='#foo'
var regexp = new RegExp('\\b' + mySearch + '\\b', 'g');
mySearch = 'foo'
将导致与“foo”匹配(错误! - 应该只匹配第一个)mySearch = '#foo'
将导致完全没有命中(错误 - 应与第二个匹配)怎么写得对吗?
答案 0 :(得分:0)
尝试:
var regexp = new RegExp('\b' + mySearch + '\b', 'g');
答案 1 :(得分:0)
\b
是 的边界。它将无法匹配空格和磅
#
之间的边界。
所以你的regexp
应该只是
var regexp = new RegExp(mySearch + '\\b', 'g');