RegEx нумерация страниц в переписывании URL - PullRequest
0 голосов
/ 25 февраля 2012

Я использую переписывание URL на своем сайте и ввел код:

        r = new Regex(@"Default.aspx\?Buy=(?<1>[\w\-\+]*)(?:&amp;|&)+PageIndex=(?<2>[\d]*)""", RegexOptions.IgnoreCase);
        txt = r.Replace(txt, "$1_dp.html?page=$2\""); 

В этом случае мои ссылки:

www.mydomain.com / computers_dp.html? Page = 0[1,2,3] зависит от номера страницы.

Является ли RegEx простым способом проверить, является ли page = 0, тогда не добавлять param? Page = 0 и добавлять его, только если PageIndex> 0.

Спасибо!

1 Ответ

0 голосов
/ 27 февраля 2012

Хорошо, я думаю, что это самый простой способ решить эту проблему. Предполагая, что регулярное выражение, которое вы уже реализовали, работает, я бы добавил другое регулярное выражение, чтобы просто заменить "?page=0" на "".

r2 = new Regex(@"\?page=0$""", RegexOptions.IgnoreCase);
txt = r2.Replace(txt, "\""); 

На самом деле нет способа проверить значение захваченных групп в регулярном выражении, кроме очень болезненных условных запросов, поэтому простое и, следовательно, лучшее решение - просто добавить другое регулярное выражение, чтобы вырезать угловой регистр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...