正则表达式匹配某些字符串后的任何数字

时间:2017-03-19 19:11:53

标签: regex

我希望匹配网址字符串中的用户ID代码,该字符串通常位于id=/user/

之后

示例:

http://dummy.url/url/path/id=7623
http://dummy.url/url/path/user/8743
http://dummy.url/url/path/user/56
http://dummy.url/url/path=88772/user/890&more=87273&variables&here=76233
http://dummy.url/url/path/id=2818372

我需要匹配7623,8743,56,890,2818372

我还没有尝试过很多,因为我在正则表达式中完成了noob,我只知道如何使用马赫数,所有数字,所以如果网址有任何匹配,那么

数字将始终为正整数

1 个答案:

答案 0 :(得分:0)

您可以通过定义替换来实现:

(?:user\/|id=)\K\d+

Live demo

说明:

(?:         # Start of a non-capturing group
    user\/      # Match `user/`
    |           # Or
    id=         # `id=`
)           # End of non-capturing group
\K\d+       # Forget matched strings then match digits

Javascript方式:



var url = "http://dummy.url/url/path/user/56";
console.log(url.replace(/(user\/|id=)\d+/, function(match, p1) {
	return p1 + 'id';
}));