可选问号 - 正则表达式

Optional question mark - regexp

我在创建正确的正则表达式时遇到问题。 这是我到目前为止所拥有的: https://regex101.com/r/d0epRo/2

我需要给这个链接再添加一个参数,我必须确定是否有问号。因此 ? 应该是可选的,但我无法让它工作。

那些不工作(\?|) (\?)? (\??).

那些应该标记为 http://www.polskieszlaki.plhttp://www.polskieszlaki.pl/wawel.htm 但不是

我没有其他想法。请帮忙

如果您只是想检索查询参数,请尝试:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(?:\?(?<param>.*))\"

然后您可以提取 param

或者更简单的形式,没有命名 + 被忽略的捕获组:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(\?(.*))\"

我想你想要的是这个正则表达式:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(?:(.*))?(?:(\?)(.*))?\"

这个 (?: ... ) 表示 "do not capture"