Нужно регулярное выражение для сопоставления двух довольно похожих шаблонов URL - PullRequest
1 голос
/ 04 августа 2010

Мне нужно регулярное выражение (для использования в .htaccess) со следующими атрибутами, фиксирующее четырехзначное число и следующий за ним текст:

Соответствие:/ 9876 / text_text_more_text_still_more_text/ 8765 / 1234_text_text_text

Не совпадают:/ 2010/08/01 / text_text_more_text_still_more_text/ 2010/08/01 / text-text-more-text-still-more-text

Пока у меня есть:/ ([0-9] +) / ([^ - /] +)

Это, к сожалению, соответствует шаблону "не соответствовать".Я определенно неофит в регулярных выражениях, но я думаю, что если бы у меня был указатель в правильном направлении, я бы понял это.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 04 августа 2010

Попробуйте это:

^/(\d{4})/(\w+)$
1 голос
/ 04 августа 2010

Используйте это регулярное выражение

^/\d{4}/[^/]*?$
0 голосов
/ 04 августа 2010

Если вся строка является только URL, вы можете попробовать следующий шаблон:

^/[0-9]+/(([0-9]{4}_)?[^/]+)$

Краткое объяснение моего подхода

  • ^ представляет начало строки, $ конец строки
  • / [0-9] + / - это первое число URL
  • ([0-9] {4} _)? - это дополнительный необязательный начальный четырехзначный номер.
  • [^ /] + будет представлять любые символы, не включаякосая черта до конца строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...