正则表达式匹配独立单词clever的技术求助
正则匹配独立单词"clever"的解决方案
要匹配作为独立单词的"clever",排除其作为其他单词组成部分的情况,你可以使用单词边界元字符\b,它能精准识别单词与非单词字符的分界,比你之前的正则覆盖场景更全面。
最终正则表达式
\bclever\b
匹配说明
\b:单词边界,匹配字母数字下划线(\w)与非单词字符(\W)的分界,也支持字符串首尾与单词的分界。- 可正确匹配的场景:
- 字符串开头的独立单词:
clever or not中的"clever" - 字符串中间的独立单词:
yahoo clever中的"clever" - 单词前后接标点的情况:
what means clever?、clever, that's right中的"clever"
- 字符串开头的独立单词:
- 会自动排除的情况:
MacLever、alcleveracio中作为单词组成部分的"clever"cleverness、cleverly中作为前缀的"clever"
原正则失效原因
你之前使用的((^|\s)(clever)($|\s))仅考虑了单词前后是空白符或字符串首尾的情况,当"clever"前后是标点等非空白非单词字符时,就无法匹配,而\b能完美覆盖这些场景。
内容的提问来源于stack exchange,提问作者seoux
相关产品推荐
相关产品推荐

