首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript RegEx:提取部分url

Javascript RegEx:提取部分url
EN

Stack Overflow用户
提问于 2012-10-19 15:57:34
回答 1查看 223关注 0票数 0
代码语言:javascript
运行
复制
        if ((urlStr.indexOf('t='))!=-1)
        {
            var pat = /t=(\d+)m(\d+)s/;
            pat.exec(urlStr);
            alert (RegExp.$1);
            alert (RegExp.$2);

        }

案例1:http://localhost/proc1/commit.php&t=1m13s返回1和13 -> Okay

案例2:http://localhost/proc1/commit.php&t=13s返回空白且空白-> Not okay

预期结果0和13

如何更改我的正则表达式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 16:01:28

你可以试试这个:

代码语言:javascript
运行
复制
var pat = /t=(?:(\d+)m)?(\d+)s/;

这允许第一部分是可选的,包括m。现在,在第二种情况下,$1应该是一个空字符串。

(?:确保您不会获得另一个包含m的捕获字符串。

这也会起作用,而且效果大致相同:

代码语言:javascript
运行
复制
var pat = /t=(\d*?)m?(\d+)s/;

在这里,我们只允许第一个数字字符串为空,m为可选。只需确保在*之后使用?使重复变得不贪婪-否则第一次重复将匹配1m将被省略,第二次重复将匹配3

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12969816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档