我正在尝试返回布尔值,以便将输入字符串与精确的正则表达式模式匹配,但是给定的代码对于包含括号的字符串不起作用.Below是同样的示例。
function myFunction() {
var str = "Account Opening Member Onboarding Assignment Cube (AOMOA)";
var patt = new RegExp("/\bAccount Opening Member Onboarding Assignment Cube (AOMOA)\b/");
return patt.test(str);
}
答案 0 :(得分:1)
最有可能的是,您要查找空格之间的整个单词,因为您传递给正则表达式的搜索短语可能以特殊字符开头/结尾。在这种情况下,请使用(?:^|\s)
代替第一个\b
和(?!\S)
,而不是最后一个\b
。
另一点是你需要escape the search phrase才能将最终的特殊字符视为字面字符。
使用
function myFunction(key) {
var str = "Text with Account Opening Member Onboarding Assignment Cube (AOMOA) string inside";
var patt = new RegExp("(?:^|\\s)" + key.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&') + "(?!\\S)");
return patt.test(str);
}
var key="Account Opening Member Onboarding Assignment Cube (AOMOA)";
console.log(myFunction(key));

答案 1 :(得分:0)
{{1}}