我的用户名的网址是:
https://stackoverflow.com/users/12283851/user12283851
对于此用户名,看起来正则表达式可能接近:
r'https?://stackoverflow.com/users/\d{1,9}/user\d{1,9}'
正则表达式中是否有办法确保第一个ID与第二个ID匹配?换句话说:
https://stackoverflow.com/users/12283851/user12283851 <== Valid
https://stackoverflow.com/users/11111111/user12283851 <== Invalid
答案 0 :(得分:0)
这是通过使用backreferences完成的。
反引用\ 1(反斜杠一个)引用第一个捕获组。 \ 1匹配第一个捕获组所匹配的完全相同的文本
在您的示例中,以下正则表达式将起作用:
https?://stackoverflow\.com/users/(\d{1,9})/user\1
查看此demo