/b
如何工作?我需要找到一个句子中一个单词的完全匹配。我有以下正则表达式和测试:
const values = 'sports is good'
const values2 = 'I\'m a sportsman' // shoud not match
const values3 = 'I\'ve done my bisports today' //shoud not match
function match(values) {
return values.match(new RegExp('sports' + '\\b', 'i')) ? true : false
}
alert(match(values)) //true
alert(match(values2)) // false
alert(match(values3)) // I expect this to be false coz it isn't really an exact match
为什么第三警报为真?我希望这是错误的,因为bisports
并不是真正的sports
。
答案 0 :(得分:0)
在正则表达式中,您仅在单词的末尾添加了单词边界。
也请在开头添加一个以仅匹配确切的单词:
return values.match(new RegExp('\\b' + 'sports' + '\\b', 'i')) ? true : false;
这是完整的代码段:
const values1 = 'sports is good';
const values2 = 'I\'m a sportsman';
const values3 = 'I\'ve done my bisports today';
function match(values) {
return values.match(new RegExp('\\b' + 'sports' + '\\b', 'i')) ? true : false;
}
console.log(match(values1)); // true
console.log(match(values2)); // false
console.log(match(values3)); // false