javascript - 当字符串包含括号时如何配置 RegExp

标签 javascript regex replace parentheses

我确定这很简单,但我在网上找不到。

这段代码:

    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);

Demo

关于javascript - 当字符串包含括号时如何配置 RegExp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144410/

相关文章:

python - 查找字符串的哪一部分与正则表达式python不匹配

javascript - 如何从 Angular 中的 ng-repeat 获取输入值

javascript - Dojo 构建和转换为 AMD 时出现问题

java - 使用嵌入数字规范化字符串

python - Python 中区分大小写的字符串替换

java - 如何用java中的相应字符替换特定字符?

javascript - JS : Selecting Numbers Only From Text Field, 加上简单的计算?

javascript - 将 VB 函数转换为 Javascript

javascript - 在 jQuery 中使用像素约束还原可拖动对象

javascript - 正则表达式查找包含双星号包围的数字的所有内容