Я пытаюсь написать конкретный шаблон регулярного выражения для правила перезаписи в IIS и если он соответствует шаблону, чтобы прекратить обработку каких-либо правил.Regex проверить, имеет ли строка только номера после последнего экземпляра символа и перед последним экземпляром другого
адреса URL будет выглядеть примерно так:
somesite.com/somepath/34343.aspx
мне нужно, чтобы увидеть, если у меня есть только номера в разделе 34343, как я могу иметь somesite.com /somepath/something343.aspx
Я попытался соответствие шаблон следующим образом:
([0-9] *) ASPX $
Но это поднимает последний URL и прекращает обработку правила, чтобы позже матчи Арен. Не бегай. Мне нужно, чтобы они работали по более поздним правилам и не прекращали обработку.
Так что, если кто-то может помочь, мне нужен способ, чтобы проверить, если у меня есть только цифры после последнего слэш и до последнего (точка)
Я также попытался это:. (. ) /(.) , который, кажется, чтобы дать мне то, что я хочу, так как это дает мне сгруппированных матчи. (*.):
- Полный somesite.com/somepath/34343.aspx зазоры в замках
- Группа 1 - somesite.com/somepath
- Группа 2 34343
- Группа 3- ASPX
Но я не знаю, как использовать группу 2, чтобы затем проверить, что текст только цифры?
Помогите пожалуйста?
Благодаря
EDIT
спасибо за ответы, но эти две модели не работают для меня. Я подключаю их к инструменту перезаписи IIS Url, и, хотя довольно замечательный вариант тестового шаблона говорит мне, что они совпадают, они, как правило, просто не срабатывают.
<rule name="Ignore id with aspx" enabled="true" stopProcessing="true">
<match url="^(.*\/\d+\..+)$" ignoreCase="true" />
<!--OR-->
<match url="^.*\/\d+\.[^.]+$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
</rule>
По крайней мере, это не прекращает обработку последующих правил.
Кстати, правило, которое я сказал, что я использовал ([0-9] *). Aspx $ запускает и прекращает обработку последующих правил.
Try [ '^. */\ D + \. [^.] + $ '] (Https://regex101.com/r/V08NkK/1) –