可选问号 - 正则表达式
Optional question mark - regexp
我在创建正确的正则表达式时遇到问题。
这是我到目前为止所拥有的:
https://regex101.com/r/d0epRo/2
我需要给这个链接再添加一个参数,我必须确定是否有问号。因此 ?
应该是可选的,但我无法让它工作。
那些不工作(\?|)
(\?)?
(\??)
.
那些应该标记为 http://www.polskieszlaki.pl
和 http://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"
我在创建正确的正则表达式时遇到问题。 这是我到目前为止所拥有的: https://regex101.com/r/d0epRo/2
我需要给这个链接再添加一个参数,我必须确定是否有问号。因此 ?
应该是可选的,但我无法让它工作。
那些不工作(\?|)
(\?)?
(\??)
.
那些应该标记为 http://www.polskieszlaki.pl
和 http://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"