正则表达式的重复模式-验证相同

时间:2019-10-28 21:04:07

标签: regex

我的用户名的网址是:

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

1 个答案:

答案 0 :(得分:0)

这是通过使用backreferences完成的。

  

反引用\ 1(反斜杠一个)引用第一个捕获组。 \ 1匹配第一个捕获组所匹配的完全相同的文本

在您的示例中,以下正则表达式将起作用:

https?://stackoverflow\.com/users/(\d{1,9})/user\1

查看此demo