作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 3 种付款方式(在线、离线、余额),每种付款方式都有不同的 url,所以我使用正则表达式来匹配所有这些 url:
1-订单/结帐/未付款/完成
2- 订单/结帐/已付款/完成?Authority=000000000000000000000000000039067905&Status=OK
3-订单/结帐/付款/完成?状态=确定
正则表达式:(。*?)完成
此正则表达式匹配所有 url,但问题是它也匹配某些页面! kile 这个产品页面:
/tork- 完成 r-motahari-德黑兰
解决办法是什么 ?
最佳答案
您可以使用
(.*)done($|[?])
done
在字符串的末尾或最后
?
.模式将匹配
(.*)
- 任何 0+ 个字符,尽可能多,直到后续子模式的最后一次出现 done
- 文字子串 done
($|[?])
- 要么 $
(字符串 anchor 的结尾)或文字 ?
(在模式中可以写成 \?
,要点是 ?
没有括号或前面的 \
表示 ?
左侧的原子重复 1 次或 0 次)。 ?:
将组变为非捕获组。在
(
之后如果您不使用捕获组值。
关于regex - 如何从正则表达式匹配中排除某些 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44780839/
我是一名优秀的程序员,十分优秀!