我有以下两个regular expressions(按顺便说一句)。

1. ^~/buying/(.*)\?(.*)   => foo= group 1  baa= group 2.
2. ^~/buying/(.*)         => foo= group 1  baa= nothing/empty/null/baibai
我想做的是,如果网址中有问号,则将其分为两组。否则,只需将所有内容放入第一组即可。
订单对我来说很重要的原因是,如果我将它们转过来,“?”正则表达式将永远不会被解雇,因为#2表达式(上面)将捕获所有内容。
那么..可以重新解决吗?
注意:我已经尝试使用using this website **来帮助我调试/调整..但我无法弄清楚。
**我与该网站没有任何隶属关系。

最佳答案

试试这个:

^~/buying/([^?]*)\??(.*)
([^?]*)-捕获第一组,其中不包含问号。\??-可选问号。(.*)-可选的第二组-可以为空。

10-07 18:09