作为一个例子:我想使用Eclipse的文件搜索来统计be
(不区分大小写)的出现,但是不计算believed
,babel
,{{1}的出现}和wannabe
。假设我们有“代码”的示例部分:
become
我想让Eclipse数一数,“代码”的上面部分包含2个匹配项(在// Belfast is believed to become a part of the world where
// people use word "be" most often; wannabe, babel?
和Belfast
中)。总而言之,我正在寻找一个正则表达式,它:
同时:
"be"
不匹配become
不匹配babel
不匹配believed
不匹配你能告诉我,我怎么做到?
编辑: 我已经编辑了问题正文,因为我之前提供的示例未完全匹配问题的标题。此外,我提供了带有明确规则的项目符号列表。
答案 0 :(得分:0)
尝试类似这样的操作:(?i)\b(\w*be(?!lieved|come)\w*)\b
示例:https://regex101.com/r/79VEzr/1
说明:
(?i)
-用于启用不区分大小写的标志\b
-匹配单词边界(在表达式的两端都匹配单个单词)(\w*be(?!lieved|come)\w*)
-捕获单词
\w*
-匹配任何单词字符be
-从字面上匹配be
(?!lieved|come)
-负向查找,以确保be
或lieved
之后没有跟随come
(删除了相信并从结果中删除)\w*
-匹配be
之后的更多单词字符\b
-匹配结束词的边界