Класс Css Word соответствует на preg_match - PullRequest
1 голос
/ 07 июня 2019

У меня есть следующее регулярное выражение:

\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy([-_]+[a-zA-Z0-9]+)?)\w*

Выше должны соответствовать классы CSS, которые включают слово careerfy и его варианты:

  1. Match.crfy-careerfy
  2. Матч .careerfy
  3. Матч .careerfy-post
  4. Матч .crfy-careerfyds-add-space

Матч4 не ожидается и не требуется!

См. https://regex101.com/r/ncd4V9/3

1 Ответ

1 голос
/ 07 июня 2019

Вам нужна пользовательская граница слова после слова careerfy:

\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy(?![^\W_])([-_]+[a-zA-Z0-9]+)?)\w*
                                  ^^^^^^^^^^ 

См. Демонстрационную версию regex .

(?![^\W_]) не разрешит совпадениеcareerfy, если за ним следует буква или цифра.

См. График регулярных выражений : enter image description here

enter image description here

...