我试图返回布尔值,以匹配输入字符串与精确的正则表达式模式,但给定的代码不能正常工作与包含括号的字符串.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);
}
您最有可能在空格之间查找整个单词,因为您传递给正则表达式的搜索短语可能以特殊字符开头/结尾。在这种情况下,使用(?:^|\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));
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));