2016-05-12 42 views
1

我經常使用Sublime Text中的搜索功能來搜索文件夾 - 由於縮小的代碼,base64編碼的數據或者縮小的代碼,這些文件夾中的某些文件夾包含極長的行(1000個字符長)證書。如何在搜索時忽略崇高文本中的長行

的搜索結果經常回來找像下面的(這既是惱人的視覺,以及給予我的短串湊巧匹配):

Annoying find result

有沒有一種方法,我可以省略線更大比我的搜索結果中的某個長度還長?

+0

查找結果中使用了什麼find查詢? – Enteleform

+0

我不記得確切的查詢,但它是沿着「jvm +」的線條。我認爲查詢應該不重要。我正在尋找一個通用的方法來做到這一點。 – xyzen

+0

在你上面的例子中,你只想在第一個例子中搜索jvm +,256?如果在此之後出現比賽,你不想比賽? – Damo

回答

1

您可以使用負面預測和負面看後面的語法來實現您的目標(在某種程度上)。

只是假設你不想包括在50個字符的所有行長,你正在搜索詞匹配,下面的正則表達式將工作(?<!.{46})MATCH(?!.{46})

方案(前4行產生匹配,以下3個不)

xxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50 
MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx50 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx95 

MATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx51 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCH 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMATCHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx96 

在本例中,返回結果集中包含的最長行長度爲95個字符,因爲MATCH字詞前後有45個字符。所以並不完美但接近,並且爲了您的目的,我確信它將會排除這些超長的編碼數據行。

您可以調整背後的長度並展望未來的結果。

+0

謝謝你的建議 - 雖然它不是我希望看到的答案,但我認爲它足夠接近(至少現在!):) – xyzen