正则表达式匹配 - Javascript

时间:2014-06-09 22:21:28

标签: javascript regex

我正在尝试编写一个与之匹配的RegEx:

/Admin/doctemplate/edit/-537743660332489375

最后的身份证号码可以改变。还有一个单独的RegEx匹配如下:

/Admin/doctemplate/-537743660332489375/edit

我试过了:

/Admin/doctemplate/edit/[-0-9]+/

2 个答案:

答案 0 :(得分:2)

你需要逃避正斜杠。然后,您可以使用数字类\d作为数字([-0-9]+也匹配0-4-6-58---458,我认为您不想这样做。)
1. \/Admin\/doctemplate\/edit\/-\d+
2. \/Admin\/doctemplate\/-\d+\/edit

我强烈建议regexr搞乱正则表达式。

答案 1 :(得分:2)

这是两种情况的正则表达式:

/^\/Admin\/doctemplate\/(edit\/-?\d+|-?\d+\/edit)$/

用你的两个例子:

/^\/Admin\/doctemplate\/(edit\/-?\d+|-?\d+\/edit)$/.test(yourString1) ->true
/^\/Admin\/doctemplate\/(edit\/-?\d+|-?\d+\/edit)$/.test(yourString2) ->true

如果您想多次使用该测试,最好将其作为变量:

var re= new RegExp("^/Admin/doctemplate/(edit/-?\d+|-?\d+/edit)$")
re.test(...)