2013-05-11 2 views
0

У меня есть следующие идентификаторы URI:Регулярное выражение с несколькими дополнительными окончаниями

  • /controller/method/arg1/arg2
  • /controller/method/arg1/arg2/< - хвостохранилище слэш
  • /controller/method/arg1/arg2?param=1&param=2< - хвостохранилище Строка запроса

I нужно регулярно прессинг для извлечения всегда /controller/method/arg1/arg2, при этом он может закончиться /, ? или ?+ некоторые символы.

Это:

^\/.*\?? 

не работает для меня, так как он предпринимает символы, прежде чем ?.

Мне все равно, если итоговая строка содержит / или ? в конце, я могу обрезать ее.

ответ

1

Я уверен, что можно подумать о более причудливых регулярных выражениях, но, насколько я вижу, самым простым возможным совпадающим регулярным выражением было бы;

^[^?]* 

Он режет все после того, как ? прочь, и другие матчи - как вы говорите - легко обрабатываются путем обрезки.

A ReFiddle to test with.

+0

Bravo, +1 ...... – zerkms

+0

@Jerry: если вы проверите вопрос, вы увидите, что это нормально – zerkms

+0

Perfect! Спасибо! –

Смежные вопросы