我有正则表达式^\(\d+\)
,它设计用于匹配包含数字的括号,并执行预期的操作。
我想扩展它以匹配括号中的数字,后跟一个空格,后跟一个来自变量的字符串。我知道我可以创建一个RegExp
对象来执行此操作,但我无法理解要逃避哪些角色才能使其工作。有人能够向我解释这个吗?
答案 0 :(得分:2)
如果您不使用RegEx
,则可以使用文字符号:
/^\(\d+\)/
但是当你使用RegEx 构造函数时,你需要双重转义这些符号:
var re = new RegExp("^\\(\\d+\\)");
有两种方法可以创建一个RegExp对象:一个文字表示法和一个 构造函数。指示字符串,文字的参数 表示法时参数不要使用引号 构造函数确实使用引号。
... 当正则表达式保持不变时,使用文字表示法。
... 当您知道正则表达式模式将> gt;时使用构造函数。正在改变,或者你不知道这种模式并从中得到它 另一个来源,例如用户输入。
现在,如果你有一个变量,最好坚持使用构造函数方法。
var re = new RegExp('^\\(\\d+\\) ' + variable);
逃避斜线是强制性的,因为它本身就是一个逃避的符号。