我确定这很简单,但我在网上找不到。
这段代码:
var new_html = "foo and bar(arg)";
var bad_string = "bar(arg)";
var regex = new RegExp(bad_string, "igm");
var bad_start = new_html.search(regex);
将 bad_start 设置为 -1(未找到)。如果我删除 (arg),它会按预期运行 (bad_start == 8)。我可以做些什么来使(非常方便的)“新正则表达式”语法起作用,还是我必须找到另一种方法?这个例子很简单,但在真正的应用程序中它会进行全局搜索和替换,所以我需要正则表达式和“g”。还是我?
TIA
最佳答案
用双反斜杠\\转义括号。试试这个。
var new_html = "foo and bar(arg)";
var bad_string = "bar\\(arg\\)";
var regex = new RegExp(bad_string, "igm");
var bad_start = new_html.search(regex);
关于javascript - 当字符串包含括号时如何配置 RegExp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144410/