Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中使用RegExp对象时要转义哪些字符?_Javascript_Regex - Fatal编程技术网

在JavaScript中使用RegExp对象时要转义哪些字符?

在JavaScript中使用RegExp对象时要转义哪些字符?,javascript,regex,Javascript,Regex,我有一个regex^\(\d+\),它被设计为匹配包含数字的括号,并且它做了预期的事情 我想扩展它以匹配括号中的数字,后跟一个空格,后跟一个来自变量的字符串。我知道我可以装箱一个RegExp对象来做这件事,但我很难理解要转义哪些字符才能让它工作。有人能给我解释一下吗?当您不使用RegEx时,您可以使用文字符号: /^\(\d+\)/ 但是当您使用RegEx构造函数时,需要对这些符号进行双重转义: var re=new RegExp(“^\”(\\d+\\)” : 创建RegExp对象有两种方法:

我有一个regex
^\(\d+\)
,它被设计为匹配包含数字的括号,并且它做了预期的事情


我想扩展它以匹配括号中的数字,后跟一个空格,后跟一个来自变量的字符串。我知道我可以装箱一个
RegExp
对象来做这件事,但我很难理解要转义哪些字符才能让它工作。有人能给我解释一下吗?

当您不使用
RegEx
时,您可以使用文字符号:

/^\(\d+\)/

但是当您使用RegEx构造函数时,需要对这些符号进行双重转义:

var re=new RegExp(“^\”(\\d+\\)”

:

创建RegExp对象有两种方法:文字表示法和 构造器。要指示字符串,请将参数设置为文本 在将参数添加到 构造函数函数不使用引号

。。。 当正则表达式保持不变时,使用文字表示法

。。。 当您知道正则表达式模式将>更改时,或者您不知道该模式并从中获取它时,请使用构造函数 另一个源,例如用户输入

现在,如果您有一个变量,最好坚持使用构造函数方法

var re = new RegExp('^\\(\\d+\\) ' + variable);

转义斜杠是必须的,因为它本身就是一个转义符号。

我的措辞有点含糊不清。我不想匹配
(34变量)
,但要匹配
(34)变量
。因此,我使用了
var re=newregexp('^\\(\\d+\\\)'+变量)。谢谢你帮我解决这个问题:)@Michael:很好,我更新了答案,还添加了更多关于这个问题的内容。