为什么我的正则表达式不起作用?

时间:2012-11-29 14:34:16

标签: jquery regex url segment

我需要匹配网址/page/之后的任何数字。

示例网址:

http://example.com/something/page/2/

我想要的是什么:

2

我写了这个,但由于某种原因我得到了NULL。

/page/(\d)

我错过了什么吗?我写的正则表达式在this site上测试时有效,但我无法在js中使用它。

当我运行时:

console.log(url);
var mr =  url.match('/page/(\d)');
console.log(mr);

我明白了:

http://example.com/something/page/2/ theme.js:32
null 

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

应该是

/\/page\/(\d+)/

匹配大于9的页面

答案 1 :(得分:2)

您可以使用

var nb = url.match(/\/page\/(\d)/)[1];

如果正则表达式中有/,则需要对其进行转义。

请注意,我更喜欢使用/someregexp/表示法,因为每次使用时都不需要计算文字正则表达式。