我有这段代码:
preg_match("/\b$word\b/ui",$string)
它可以正常使用字母,但变量也可以签名..比如“!@#$ ^%+”等 我怎么能这样做呢?
答案 0 :(得分:3)
单词边界\b
相当于:
((?<!\w)(?=\w)|(?<=\w)(?!\w))
如果你想将字符!@#$^%+
视为&#34;字符字符&#34;为了指定&#34;字边界&#34;,相应地修改上面的表达式:
((?<![\w!@#$^%+])(?=[\w!@#$^%+])|(?<=[\w!@#$^%+])(?![\w!@#$^%+]))
因此给你:
preg_match("/((?<![\w!@#$^%+])(?=[\w!@#$^%+])|(?<=[\w!@#$^%+])(?![\w!@#$^%+]))$word((?<![\w!@#$^%+])(?=[\w!@#$^%+])|(?<=[\w!@#$^%+])(?![\w!@#$^%+]))/ui",$string)