我有以下两个正则表达式
(顺带一提)。
1. ^~/buying/(.*)\?(.*) => foo= group 1 baa= group 2.
2. ^~/buying/(.*) => foo= group 1 baa= nothing/empty/null/baibai
我想做的是,如果 url 有问号,则将其分成两组。否则,就把所有的东西都扔到第一组。
顺序对我来说很重要的原因是,如果我将它们调换,'?'正则表达式永远不会被解雇,因为 #2 表达式(上面)会捕获所有内容。
那么 .. 这可以重新修复吗?
注意:我试过using this website ** 帮我调试/调整 .. 但我想不通。
** 我与该网站没有隶属关系。
最佳答案
试试这个:
^~/buying/([^?]*)\??(.*)
([^?]*)
- 捕获不包含问号的第一组。
\??
- 可选问号。
(.*)
- 可选的第二组 - 可以为空。
关于regex - 是否可以将这两个正则表达式合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963716/