搜索时如何忽略 Sublime Text 中的长行

xyz*_*zen 5 ide editor sublimetext2

我经常使用 Sublime Text 中的搜索功能来搜索文件夹 - 由于缩小的代码、base64 编码的数据或证书,其中一些文件夹包含极长的行(1000 个字符长)。

搜索结果通常看起来像下面这样(这在视觉上很烦人,而且在较短的字符串上给了我意外的匹配):

烦人的查找结果

有没有办法可以从搜索结果中省略大于特定长度的行?

Dam*_*amo 1

您可以使用否定前瞻和否定后瞻语法来实现您所追求的目标(在一定程度上)。

假设您不想在搜索单词 MATCH 时包含任何长度超过 50 个字符的行,则以下正则表达式将起作用(?<!.{46})MATCH(?!.{46})

场景(前 4 行产生匹配,后面 3 行则不匹配)

xxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx95

MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx51
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx96
Run Code Online (Sandbox Code Playgroud)

在此示例中,返回结果集中包含的最长行的长度为 95 个字符,因为单词 MATCH 前后各有 45 个字符。所以并不完美,但很接近,为了您的目的,我确信它会排除那些超长的编码数据行。

您可以调整向后看和向前看的长度以获得您想要的结果。