0

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

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

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

name/
name,page1/

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

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

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

有人可以给我一些提示来解决这个问题:)吗?

编辑:我确实想出了那个解决方案:

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

1 回答 1

2

使用可选运算符...

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

(?:,page\d+)是一个非捕获组,?意味着它可以出现 1 次或 0 次。

这里

于 2013-05-22T08:08:06.760 回答