Regex - Найти слово из 8 букв с любым числом / алфавит / оба и заканчивающиеся на .php - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь найти много 8-значных слов, используя регулярное выражение,

  1. , которое должно содержать либо число / алфавиты / оба
  2. , после этих 8 цифр оно должно заканчиваться на .php
  3. он должен иметь только 8 цифр ни 7, ни 6

Я пробовал это \b\d{8}\b.php

Но мне не удалось, это работает только для чисел, например

12121212.php

23232323.php

Также мне не нужно

что-то-catergory.php

AB787C-category.php

has-bookshok.php

Окончательный результат должен бытькак abcd1234.php вместо что-то-abcd1234.php

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

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

/^[a-z0-9]{8}\.php$/i

Он утверждает, что имя файла состоит из 8 [a-zA-Z0-9] символов, за которыми следует .php.Обратите внимание, что модификатор i делает его нечувствительным к регистру, поэтому нам не нужно указывать также A-Z в классе символов.

Вот демонстрация на 3v4l.org

0 голосов
/ 09 февраля 2019

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

\b[a-zA-Z0-9]{8}\b

  • \b - Ограничение слова.
  • [a-zA-Z0-9]{8} - номер совпадения, алфавиты или оба.({8} -> длина должна быть 8 символов)

Обновление

Окончательный результат должен быть похож на abcd1234.php, а не что-то-abcd1234.php

\b[a-zA-Z0-9]{8}\.php$

Демо

Хорошо, если вы хотите, чтобы полная строка соответствовала вам, вам нужноиспользовать ^ привязку в начале и $ в конце вместо \b

^[a-zA-Z0-9]{8}\.php$

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