我对一个小正则表达式有疑问。在一个句子中,我想匹配一个或多个单词,并且前后唯一允许的字符是可选的空格字符。
例如:在句子中Ut volutpat egestas volutpat.
我想匹配volutpat
而不是volutpat.
除非我volutpat.
特别寻找。
这是代码(jsFiddle):
var sentence = 'Ut volutpat egestas volutpat.',
word = 'volutpat',
regex = new RegExp('[\s]?' + word + '[\s]?', 'g');
console.log(sentence.match(regex));
不幸的是,在控制台中,上面的代码返回了两个匹配项:
[ "volutpat", "volutpat" ]
请注意,如果我必须匹配它们,word = 'volutpat egestas'
或者必须也可以。word = 'volutpat.'