如何使用Regex搜索包含2个短语的文件



我使用IntelliJ作为我的编辑器,它有Regex搜索功能,但我无法做到以下几点:如果我在一个有很多目录的项目中搜索一个包含两个短语["special property"one_answers"spin-waves"]的文件,我应该如何编写Regex?

下面是一个包含以下两个短语的示例文件:

自旋电子学的基本思想是将电子的一种特殊性质——自旋——用于各种电子应用,如数据和信息技术。自旋是电子产生磁矩的固有角动量。这些磁矩的耦合产生了最终可用于信息处理的磁性。当这些耦合磁矩被磁场脉冲局部激发时,这种动态可以像波一样在整个材料中传播。这些被称为自旋波或磁振子。

我尝试过:特殊属性。*自旋波

但它没有起作用。

我有一个想法,但我不知道如何将其放在Regex中,有没有一种方法可以实现以下目标:

[1] 我注意到,如果我搜索";特殊性质";或";"自旋波";,结果是即时的,但我得到的文件太多了。

[2] 即使我搜索";特殊性质|自旋波";,它也是即时的;特殊性质";或";自旋波";。

[3] 所以我的想法是:如果结果文件在一个集合X中;特殊性质";,并且结果文件在用于搜索的集合Y中;"自旋波";,我能想出一个Regex来返回X和Y中的文件吗?

另一个选项是首先搜索包含"特殊性质";然后在范围CCD_ 1中搜索";自旋波";。

搜索正则表达式

(?s)(?=.*special property)spin waves

$(?s)设置dotall标志,该标志允许.*跨换行符进行匹配。然后,它在正常搜索另一个短语的同时,使用先行查找来查找其中一个短语。

最新更新