我应该匹配任何包含“ checkout”或“ checkout.html”而不是“?”的字符串。使用正则表达式。
例如:
www.xxx.com/en/cp/checkout.html?basket_gotostep=4 FALSE
www.xxx.com/en/cp/checkout.html=test OK
www.xxx.com/en/cp/checkout=test_23 OK
www.xxx.com/en/cp/checkout?basket_gotostep=4 FALSE
这是我尝试过的方法:((checkout\.html)(?!\?))|((checkout)(?!\?))
,但是它不起作用。
答案 0 :(得分:1)
您可以使用正则表达式,例如
\bcheckout\b(?!(?:\.html)?\?)
或
\/checkout\b(?!(?:\.html)?\?)
请参见regex demo
详细信息
\/checkout\b
-/checkout
之后是单词边界检查(?!(?:\.html)?\?)
-如果在当前位置的右侧紧邻有一个可选的.html
序列和一个?
字符,则负匹配将使匹配失败。