如何检查文本“abc”是否存在于字符串中而不是“abcd”?
例如,如果邮件字符串是“abcdef”,“abcd,ef”或类似的东西,其中“abc”在任何一方都有字母,则应返回false。但是,“abc”,“abc.def”或“abc,def”之类的内容应该返回true。
答案 0 :(得分:2)
您需要使用\b
:
\babc\b
这与athingabcisdef
,abcdef
或aabcc
之类的内容不符,但会匹配hello, abc!
和abc,why?
\b
匹配字边界,这基本上意味着“匹配,如果任一边的一个字符是一个字符,另一个不是”,尽管它也考虑字符串的开头和结尾不是单词字符。请注意,\w
包含_
,因此如果您想匹配a_abc_c
之类的内容,则必须自行添加。
您可以找到该正则表达式here的在线测试(“PCRE”是perl regexes,preg_match
使用的是preg
表示p
erl { {1}} ular表达式)