Regex 如何从正则表达式匹配中排除某些url
我有3种付款方式(在线、离线、按余额付款),每种付款方式都有不同的url,因此我使用regex来匹配所有这些url: 1-订单/结帐/未付款/完成 2-订单/结帐/付款/完成?权限=00000000000000000000000039067905&状态=OK 3-订单/结帐/付款/完成?状态=正常 正则表达式:(.*)完成 这个正则表达式匹配所有URL,但问题是它也匹配某些页面!kile此产品页面: /tork-完成r-motahari-德黑兰 解决办法是什么 您可以使用Regex 如何从正则表达式匹配中排除某些url,regex,google-analytics,analytics,nsregularexpression,Regex,Google Analytics,Analytics,Nsregularexpression,我有3种付款方式(在线、离线、按余额付款),每种付款方式都有不同的url,因此我使用regex来匹配所有这些url: 1-订单/结帐/未付款/完成 2-订单/结帐/付款/完成?权限=00000000000000000000000039067905&状态=OK 3-订单/结帐/付款/完成?状态=正常 正则表达式:(.*)完成 这个正则表达式匹配所有URL,但问题是它也匹配某些页面!kile此产品页面: /tork-完成r-motahari-德黑兰 解决办法是什么 您可以使用 (.*)done($|
(.*)done($|[?])
关键是您需要在字符串末尾或最后一个?
处匹配done
。图案会匹配的
-在后续子模式的最后一次出现之前,尽可能多的任何0+个字符(.*)
-文字子字符串done
done
-要么是($|[?])
(字符串结束锚点)要么是一个文本$
(可以在模式中写为?
,主要的一点是前面没有括号的\?
意味着?
左侧原子的1或0次重复)
请注意,您可以通过在
之后添加?:
(
如果不使用捕获组值)将组变为非捕获。看起来您只想在字符串末尾或?
之前进行匹配。请尝试(*)完成($|[?])
。不确定您是否需要第一个捕获组。完全正确。它的作品再次感谢您,请提交您的答案:)