正则表达式匹配下一个

时间:2013-05-22 07:58:44

标签: python regex

我在编写正则表达式以匹配名称时遇到问题,如果名称后跟包含数字的页面,则它应该匹配两者。

第一个示例与页面不匹配,因为正则表达式找到|这是懒惰的。

name|(?:,page(\d+))/

name/
name,page1/

第二个示例将匹配名称和页码,但它不会仅仅与名称匹配:

(?:name)(?:,page(\d+))/

到目前为止我还没有更多的想法,或者我没有注意到正确的表达特殊字符。

有人可以给我一些解决方法吗?)?

编辑: 我确实提出了这个解决方案:

name(,page(\d+))|name/

1 个答案:

答案 0 :(得分:2)

使用可选的运算符...

name(?:,page\d+)?\/

(?:,page\d+)是非捕获组,?表示它可以显示1次或0次。

请参阅here