RegEx и QueryString - PullRequest
       19

RegEx и QueryString

0 голосов
/ 26 июня 2009

У меня есть это регулярное выражение, которое я использую на моем сайте

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/$

У меня вопрос, с кем я могу использовать строку запроса с моим регулярным выражением,

/ about-us / contact /? L = ru -> page.aspx? Id = 12 & l = en

где id = 1 = / о нас / контакт /

где l = en = /? L = en

EDIT:

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/(\?l=en)

Я получаю сообщение об ошибке: \ i C #

Есть ли в регулярном выражении способ указать, существует ли? X = x, регулярное выражение является совпадением, но если? X = x не существует, регулярное выражение для / about-us / contact / совпадает?

Спасибо

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Выражение

[\?&](?<name>[^&=]+)=(?<value>[^&=]+)

Описание Сопоставляет пары имя / значение в строках запроса HTTP, помещая имя в группу с именем «name» и значение в группу с именем «value»

Матчи -> http://stackoverflow.com/?a=b&c=d

Non-Матчи -> http://stackoverflow.com/

Авторский рейтинг: Кевин Спенсер.

0 голосов
/ 26 июня 2009

Если вы хотите включить символ ? в свой шаблон поиска, вам просто нужно экранировать его обратной косой чертой. Поэтому, если вы хотите найти 'l = en', вы ищете '\? L = en'

^.*/([a-z0-9,-]+)/([a-z0-9,-]+)/(\?l=en)
...