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

时间:2016-05-12 07:09:54

标签: ide editor sublimetext2

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

搜索结果经常会回来看起来如下(这在视觉上既令人讨厌,又在较短的字符串上给我意外的匹配):

Annoying find result

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

1 个答案:

答案 0 :(得分:1)

你可以使用负面的预测和负面的语法背后来实现你的目标(在一定程度上)。

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

场景(前4行产生匹配,以下3行不产生)

xxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx95

MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx51
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx96

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

您可以调整背后的长度并向前看以获得您所追求的结果。