您好我在JavaScript中有以下正则表达式:
var re = new RegExp("\\[(\\d{8})([,|;]\\s*\\d{8})*\\]", "g");
当我将变量设置为等于第一个和最后一个括号(带有转义字符)时,我从元素的属性中获取它并将这些变量传递给RegExp,如下所示:
HTML:
div id="myid" left="\\[" right="\\]"/>
JavaScript的:
bs = $("#myid"); left = bs.attr('left'); right = bs.attr('right'); var re = new RegExp(left + "(\\d{8})([,|;]\\s*\\d{8})*" + right, "g");
我收到错误消息:
Uncaught SyntaxError: Invalid regular expression: /\\[(\d{8})([,|;]\s*\d{8})*\\]/: Unmatched ')'
我在这里做错了什么?
由于
答案 0 :(得分:2)
您不需要escape
您的escape
登录html属性
仅在javascript的字符串中需要这些。
只需替换
\\[
单一
\[
在您的属性中。