从字符串创建的 Javascript 正则表达式 - 为什么它不起作用
Javascript regex created from string - why it does not work?
我的字符串是:
...
abc {
color: red;
border-color: black;
}
...
我想匹配(替换)大括号之间的所有内容。我设法编写了这样的工作正则表达式:
/'{[.'s'w:;-]*'}/ig
但是我需要从字符串创建正则表达式,但它不起作用:
new RegExp("{[.'s'w:;-]*}","ig"); // does not work
一切都在小提琴上:http://jsfiddle.net/3ru18Lj9/
您可以使用:
var re = new RegExp("''{[''S''s]*''}", "g");
以匹配 JS 中的换行符。
- 构造对象时必须使用
''
(双重转义RegExp
。 - 由于 JS 没有
s
(DOTALL) 标志,因此使用['S's]
来匹配包括换行符在内的所有字符。
PS:但是请记住,它不会处理嵌套的大括号。
正
则表达式中的's
意味着特殊的东西,但字符串中的's
与 s
相同。
您需要转义'
,以便正则表达式解析器看到它。
new RegExp("''{[.''s''w:;-]*''}","ig");
检查这个更新的小提琴。
你必须转义斜杠.
new RegExp("{[.''s''w:;-]*}","ig");
http://jsfiddle.net/khaleel/3ru18Lj9/2/
相关文章:
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- 为什么javascript:void(0)在Firefox中不起作用
- Js.erb VS按钮标记-不'不起作用.为什么?
- 为什么indexOf在这个js代码中不起作用
- 为什么边际:自动;不起作用
- 为什么我的JavaScript堆栈排序函数不起作用
- Don'我不明白为什么我的setInterval+jQuery;不起作用
- 为什么此验证代码不起作用
- 我的jquery代码不起作用.为什么?
- 为什么Telerik cdn在IE中不起作用
- 为什么 AJAX POST 请求不起作用
- 为什么我的While循环不起作用
- I'我不知道为什么我的代码没有'不起作用
- 为什么简单的Promise语句在浏览器中不起作用
- 就地反转数组为什么不起作用
- 为什么不起作用?用鼠标指针推框
- 两个元素的两个标签,具有相同的 id,但形式不同.为什么不起作用
- 获取并评估javascript——为什么不起作用
- 如何通过在javascript代码中添加停止来找出它为什么不起作用
- 我很想知道为什么给出不完整的输出(以及为什么不起作用)