我有以下两个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/([^?]*)\??(.*)
([^?]*)
-捕获第一组,其中不包含问号。\??
-可选问号。(.*)
-可选的第二组-可以为空。