我有这样的代码:
var value = "Mary Jane (Asistant)";
var regex = new RegExp(value);
regex.test("Some String to Test");
我想测试我的正则表达式。当我用括号括起来时,它可以工作。但是当我测试“ Mary Jane(Asistant)”的值时,它将抛出错误。
无效的正则表达式:/ Mary Jane(助理/:未终止的组。
如何摆脱这个错误?
答案 0 :(得分:0)
尝试一下
var value = "Mary Jane \\(Asistant\\)";
var regex = new RegExp(value);
console.log(regex.test("Some String to Test"));
console.log(regex.test("Mary Jane (Asistant)"));
或这个
var value = /Mary Jane \(Asistant\)/;
var regex = new RegExp(value);
console.log(regex.test("Some String to Test"));
console.log(regex.test("Mary Jane (Asistant)"));
请记住,value
包含正则表达式模式,并且某些字符(如括号(
和)
)具有特殊含义,需要像上面的摘要中一样进行转义。