Css class 单词匹配 preg_match
Css class Word match on preg_match
我有以下正则表达式:
\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy([-_]+[a-zA-Z0-9]+)?)\w*
以上内容应与 css 类 匹配,其中包含 careerfy 及其变体:
- 匹配 .crfy-careerfy
- 匹配 .careerfy
- 匹配.careerfy-post
- 匹配.crfy-careerfyds-add-space
匹配 4 不是预期的,也不是必需的!
您需要在 careerfy
单词后自定义单词边界:
\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy(?![^\W_])([-_]+[a-zA-Z0-9]+)?)\w*
^^^^^^^^^^
参见regex demo。
如果(?![^\W_])
后跟字母或数字,则(?![^\W_])
不会匹配careerfy
。
参见 regex graph:
我有以下正则表达式:
\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy([-_]+[a-zA-Z0-9]+)?)\w*
以上内容应与 css 类 匹配,其中包含 careerfy 及其变体:
- 匹配 .crfy-careerfy
- 匹配 .careerfy
- 匹配.careerfy-post
- 匹配.crfy-careerfyds-add-space
匹配 4 不是预期的,也不是必需的!
您需要在 careerfy
单词后自定义单词边界:
\w*(\.([a-zA-Z0-9]+[-_]+)?careerfy(?![^\W_])([-_]+[a-zA-Z0-9]+)?)\w*
^^^^^^^^^^
参见regex demo。
如果(?![^\W_])
后跟字母或数字,则(?![^\W_])
不会匹配careerfy
。
参见 regex graph: