Php PCRE匹配字符串中的整词
我试图在php中运行一个regexp(Php PCRE匹配字符串中的整词,php,pcre,Php,Pcre,我试图在php中运行一个regexp(preg\u match\u all),它匹配字符串中的某些整词,但问题是它也匹配只包含测试词一部分的词。 另外,这是一个更大的regexp中的子查询,所以像strpos这样的其他PHP函数对我没有帮助,很遗憾 字符串:“我测试字符串” 要匹配的词:“可测试”、“字符串” 已尝试regexp:/([testable | string]+)/ 预期结果:仅限“字符串” 结果:“test”、“a”、“string”您不希望字符类具有[],您只希望匹配以下单词:
preg\u match\u all
),它匹配字符串中的某些整词,但问题是它也匹配只包含测试词一部分的词。
另外,这是一个更大的regexp中的子查询,所以像strpos
这样的其他PHP函数对我没有帮助,很遗憾
字符串:“我测试字符串”
要匹配的词:“可测试”、“字符串”
已尝试regexp:/([testable | string]+)/
预期结果:仅限“字符串”
结果:
“test”、“a”、“string”
您不希望字符类具有[]
,您只希望匹配以下单词:
/testable | string/
如果您确实想确保只获取单词,而不获取包含单词的单词,则可以使用单词边界锚:
/\b(testable|string)\b/
这将只匹配一个单词边界,后跟
testable
或string
,然后是另一个单词边界。您的正则表达式完全等同于/([abegilnrst]+)/
谢谢,我现在已经解决了。。。但是你为什么要删除你的答案呢