正则表达式和JavaScript

leh*_*elp 2 javascript regex

使用http://www.regular-expressions.info/javascriptexample.html我测试了以下正则表达式

 ^\\{1}([0-9])+ 
Run Code Online (Sandbox Code Playgroud)

这是为了匹配反斜杠,然后是数字.

它在那里工作

如果我然后直接在代码中尝试这个

var reg = /^\\{1}([0-9])+/;
reg.exec("/123")
Run Code Online (Sandbox Code Playgroud)

我没有比赛!

我究竟做错了什么?

Fel*_*ing 5

更新:

关于你的问题的更新.然后正则表达式必须是:

var reg = /^\/(\d+)/;
Run Code Online (Sandbox Code Playgroud)

你必须逃避正则表达式中的斜线\/.


反斜杠也需要在字符串中进行转义:

reg.exec("\\123")
Run Code Online (Sandbox Code Playgroud)

否则\1将被视为特殊字符.

顺便说一句,正则表达式可以简化:

var reg = /^\\(\d+)/;
Run Code Online (Sandbox Code Playgroud)

请注意,我感动的量词+ 的捕获组,否则只会捕捉单个数字(即3),而不是整数123.