Сопоставить все файлы с расширением только в корне документа - PullRequest
1 голос
/ 08 октября 2019

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

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

(?!(\/))([a-zA-Z0-9-]+)\.html

Это, к сожалению, соответствует любому расширению .html, которое мне не нужно.

Для следующих путей:

/dir1/file.html
/dir2/file.html
/file.html
/file-name---is--something.html

Он должен соответствовать только /file.html и /file-name---is--something.html, но соответствует всем им.

Что я делаю не так?

Спасибо!

1 Ответ

1 голос
/ 08 октября 2019

Вы можете использовать

^\/[^\/]*\.html$

См. Демоверсию regex

Подробности

  • ^- начало строки
  • \/ - символ / (нет необходимости экранировать его, если он не используется в качестве символа-разделителя регулярных выражений - зависит от среды)
  • [^\/]* - 0+ символы, отличные от /
  • \.html - .html строка
  • $ - конец строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...