我希望匹配网址字符串中的用户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,我只知道如何使用马赫数,所有数字,所以如果网址有任何匹配,那么
数字将始终为正整数
答案 0 :(得分:0)
您可以通过定义替换来实现:
(?:user\/|id=)\K\d+
说明:
(?: # 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';
}));