我对一个小正则表达式有疑问。在一个句子中,我想匹配一个或多个单词,并且前后唯一允许的字符是可选的空格字符。
例如:在句子中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.'