CSS类Word匹配在preg_match上

时间:2019-06-07 16:55:49

标签: php regex preg-match

我有以下正则表达式:

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

以上内容应与包含 careerfy 一词及其变体的css类相匹配:

  1. 匹配.crfy-careerfy
  2. 匹配.careerfy
  3. 匹配.careerfy-post
  4. 匹配.crfy-careerfyds-add-space

不希望并且不需要比赛4!

请参见https://regex101.com/r/ncd4V9/3

1 个答案:

答案 0 :(得分:1)

您需要在careerfy单词后添加自定义单词边界:

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

请参见regex demo

如果(?![^\W_])后跟字母或数字,则不会匹配careerfy

请参见regex graphenter image description here

enter image description here