【问题标题】:Why is my regex not working?为什么我的正则表达式不起作用?
【发布时间】:2012-11-17 15:50:17
【问题描述】:

我需要匹配 URL 中 /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 

有什么想法吗?

【问题讨论】:

  • 它应该是 var mr = url.match('/page/(\\d)'); (或 RegExp 文字,如答案中所述)。

标签: jquery regex url segment


【解决方案1】:

应该是

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

匹配大于9的页面

【讨论】:

    【解决方案2】:

    你可以使用

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

    当您在正则表达式中有/ 时,需要对其进行转义。

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

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 1970-01-01
      • 2015-04-13
      • 2014-06-01
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      相关资源
      最近更新 更多