首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从regex匹配中排除一些url

如何从regex匹配中排除一些url
EN

Stack Overflow用户
提问于 2017-06-27 12:54:09
回答 1查看 834关注 0票数 2

我有3种类型的支付(在线,离线,按余额计算),每种支付类型都有不同的url,所以我使用regex来匹配所有这些url:

1-订单/结账/未付款/已完成

2- order/checkout/paid/done?Authority=000000000000000000000000000039067905&Status=OK 3-订单/结帐/付款/完成?状态=确定

regex:(.*?)完成

这个正则表达式匹配所有的urls,但问题是它也匹配了一些页面!使用此产品页面:

/tork-doner-motahari-tehran

解决办法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-27 13:07:15

你可以用

代码语言:javascript
运行
复制
(.*)done($|[?])

关键是您需要在字符串的末尾或最后一个done匹配?。该模式将匹配

  • (.*) -任何0+字符,尽可能多,直到最后一次出现后续子模式。
  • done -文字子字符串done
  • ($|[?]) -- $ (字符串锚的末尾)或文字? (可以在模式中写成\?,主要是在?左边没有括号或\?表示原子的1或0次重复)。

请注意,如果不使用捕获组值,则可以通过在?:之后添加(将组转换为非捕获。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44780839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档