【问题标题】:How do I search files in Eclipse so the results shows files that do NOT contain the search term?如何在 Eclipse 中搜索文件,以便结果显示不包含搜索词的文件?
【发布时间】:2009-07-19 01:49:33
【问题描述】:

在 Eclipse 编辑器中,如果我进入 Search->File,我可以搜索包含我的搜索词的文件。我想要做的是找到所有DO NOT 包含我的搜索词的文件。这可能吗?

【问题讨论】:

    标签: eclipse search


    【解决方案1】:

    这个表达式应该可以工作 (reference):

    (?s)\A((?!YourSearchText).)*\Z
    

    【讨论】:

    • 这确实应该被标记为答案。谢谢!谁能向我解释这个正则表达式?我明白了?!组,但 \A 和 \Z 不会匹配文字字符吗?
    • @JacobEnsor (?s) 启用单行模式制作点“。”也匹配换行符。 \A 和 \Z 匹配输入的开头和结尾。 (?!YourSearchText) 表示“此时您的SearchText 不存在”。因此,只要未找到 YourSearchText,它就基本上匹配所有输入字符。参考:docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
    【解决方案2】:

    尝试检查“正则表达式”选项,然后输入诸如 [^term] 或 (?!term) 之类的内容——这两者的含义都是“非术语”,但它们略有不同(请参阅一些 RegExp 文档,例如this)。

    【讨论】:

    • 嗨。我试过这些。 [^term] 有效,但没有给出我想要的结果。另一种风格虽然没有给出错误的正则表达式或任何错误,但没有给出任何结果。我正在尝试通过您提供的链接上的信息来查看我是否可以解决这个问题。谢谢
    • [^term] 定义了一个字符组 ([]),没有字符 term。所以你不排除单词term,而是排除字母term
    【解决方案3】:

    imo 最简单的方法是使用InstaSearch Eclipse plugin 并输入:

    search text -wordToExclude -anotherWordToExclude

    【讨论】: