Cha*_*G K 3 java regex eclipse
我想在任何给定项目/工作区中的给定文件类型中搜索两个(或更多)单词(或者您可以说组)。
我需要一个用于以下查询的高效正则表达式(在多行模式下)以使用它 eclipse文件搜索对话框(见下图。您可以按Ctrl+打开搜索对话框H)

我得到了第一
但不是对其他人。
当您想提高搜索效率时,您必须了解不同的目标:Eclipse 搜索功能会查找所有出现的内容,但您只想检查是否存在某个单词。
对于单个单词,您可以只搜索,word但由于您想使用无界量词搜索组合,因此效果不佳。
因此,您必须做的第一件事是通过添加\A代表“文件开头”的锚点来阻止 Eclipse(正则表达式引擎)检查文件每个字符位置的匹配。然后跳过尽可能少的字符并搜索文字匹配以检查是否存在:
(?s)\A.*?word将搜索第一次出现,word但不再搜索。
扩展它以按顺序检查两个单词很容易:
(1)(?s)\A.*?word1.*?word2仅按顺序检查每个单词出现一次,仅此而已。
要在没有订单的情况下检查存在与否,您可以使用前瞻:
(2)(?s)\A(?!.*?word2).*?word1简单地否定前瞻来告诉word2一定不存在......
(3)(?s)\A(?=.*?word1).*?word2如果存在一个匹配项,word1则找到一个匹配项word2;当然,word1并且word2可以互换。
(4)(?s)\A(?!.*?word1).?并且只使用否定前瞻来搜索word1唯一的不存在;如果不存在.?只匹配一个可选字符,因为空的正则表达式将不匹配DOTALL模式中的任何内容。
(5)(?s)\A.*?(word1|word2)告诉要么word1或word2满足是直接的。
当然,如果您要查找整个单词,则word必须将上面的占位符替换为\bactualwordcharacters\b.
| 归档时间: |
|
| 查看次数: |
6686 次 |
| 最近记录: |