xyz*_*zen 5 ide editor sublimetext2
我经常使用 Sublime Text 中的搜索功能来搜索文件夹 - 由于缩小的代码、base64 编码的数据或证书,其中一些文件夹包含极长的行(1000 个字符长)。
搜索结果通常看起来像下面这样(这在视觉上很烦人,而且在较短的字符串上给了我意外的匹配):
有没有办法可以从搜索结果中省略大于特定长度的行?
您可以使用否定前瞻和否定后瞻语法来实现您所追求的目标(在一定程度上)。
假设您不想在搜索单词 MATCH 时包含任何长度超过 50 个字符的行,则以下正则表达式将起作用(?<!.{46})MATCH(?!.{46})
场景(前 4 行产生匹配,后面 3 行则不匹配)
xxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx95
MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx51
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx96
Run Code Online (Sandbox Code Playgroud)
在此示例中,返回结果集中包含的最长行的长度为 95 个字符,因为单词 MATCH 前后各有 45 个字符。所以并不完美,但很接近,为了您的目的,我确信它会排除那些超长的编码数据行。
您可以调整向后看和向前看的长度以获得您想要的结果。