具有多个可选结尾的正则表达式

时间:2013-05-11 12:42:26

标签: php regex

我有以下URI:

  • /controller/method/arg1/arg2
  • /controller/method/arg1/arg2/ < - 拖尾斜线
  • /controller/method/arg1/arg2?param=1&param=2 < - 拖尾查询字符串

我需要一个正则表达式来提取始终/controller/method/arg1/arg2,同时请记住它可以以/?? +某些字符结尾< /强>

此:

^\/.*\??

对我不起作用,因为它在?之前使用了字符。

我不在乎最终的字符串是否包含/?,我可以修剪它。

1 个答案:

答案 0 :(得分:1)

我确信人们可以想到更多花哨的正则表达式,但据我所知,最简单的匹配正则表达式将是;

^[^?]*

它会在?关闭后切断所有内容,而其他匹配则 - 正如您所说 - 可以通过修剪轻松处理。

A ReFiddle to test with