gpt4 book ai didi

regex - 使用 AND 使用 Sublime 3 在多个文件中搜索多个字符串

转载 作者:行者123 更新时间:2023-12-04 18:03:43 27 4
gpt4 key购买 nike

我之前的(类似)问题 Search for multiple strings in several files with Sublime 3answered使用正则表达式 OR 在 SublimeText 中的多个文件中搜索多个字符串的方法运算符(operator):

Find: (string1|string2)
Where: <open folders>

这非常适合搜索 string1 的文件。或 string2存在。我现在需要的是在大量文件中搜索存在的两个字符串。即,我需要使用 AND运算符(operator)。

我环顾了这个问题 Regular Expressions: Is there an AND operator?还有这个 Regex AND operator并提出了以下食谱:
(?=string1)(?=string2)
(?=.*string1)(?=.*string2)
(string1 string2)
(string1\&string2)

但它们都不起作用。

所以问题是:如何使用 SublimeText 一次在多个文件中搜索多个字符串?

(我正在使用 SublimeText 3103)

添加 : 字符串不一定在同一行。它们可以位于每个文件中的任何位置。例如,这个文件:
string1 dfgdfg d dfgdf

sadasd
asdasd

dfgdfg string2 dfgdfg

应该触发匹配。

最佳答案

打开 sublime Text 并按下

Shift+Ctrl+F

或点击 Find in Files Files 下的选项标签。以上是此选项的键盘快捷键。当您按上面的键时,这些是以下选项

enter image description here

当你从上面选择 ... 按钮时,你会得到 6 个选项,它们是 Add FolderAdd Open FilesAdd Open Folders
搜索出现在同一行中的字符串

对您的 and 使用以下正则表达式手术

(?=.*string1)(?=.*string2)

我正在使用以下正则表达式
(?=.*def)(?=.*s)\w+ <-- \w+ will help in understanding which line is matched(will see later)

我正在搜索 current open files
enter image description here

确保 Use Buffer选项已启用(一个就在 Find 之前)。它将在新文件中显示匹配项。还要确保 Show Context (前一个 Use Buffer )选项已启用。这将显示匹配的确切行。现在点击 Find在右侧。

这是我得到的输出

enter image description here

查看线的背景颜色差异 13151316 (出现在左侧)。 1316匹配行在 designation文件

这是最后一部分的图像

enter image description here

我使用这个正则表达式时总共打开了 6 个文件

用于在文件中的任何位置查找字符串


(?=[\s\S]*string1)(?=[\s\S]*string2)[\s\S]+

但如果行数增加,它会杀死 sublime。

如果您只需要找到两个单词,与上面相比,以下将工作得非常快
(\bstring1\b[\S\s]*\bstring2\b)|(\bstring2\b[\S\s]*\bstring1\b) 

关于regex - 使用 AND 使用 Sublime 3 在多个文件中搜索多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com