2017-10-07 68 views
1

我有一個很大的文本文件。我有一個給定的特定關鍵字[與「ABC DEF G」之間的空格)。 它要麼在文本文件中出現兩次,要麼完全不出現。[在記事本++中的兩個給定單詞之間自動選擇文本]

我想要記事本++搜索,以便這兩個關鍵字之間的所有文本(大約300到1000行)自動選擇。我的第一個問題是:

這個自動選舉可能(通過正則表達式或一些已經構建的插件)。

如果是的話,有人可以請建議。

截至目前我正在閱讀整個文本文件,以搜索哪些是時間和內存消耗。 謝謝。

+0

你是說像[此](https://ibb.co/dovFiw)? – Gurman

+0

是的完全一樣:) –

+0

太棒了。我已經添加它作爲答案。 – Gurman

回答

0

試試這個正則表達式:

(?<=ABC DEF G)[\s\S]*(?=ABC DEF G)

Click for Demo

說明:

  • (?<=ABC DEF G) - Positive Lookbehind發現這是由文本之前的位置ABC DEF G
  • [\s\S]* - 比賽0+任何字符
  • (?=ABC DEF G)的出現 - Positive lookahead找到緊接着文本的位置ABC DEF G

輸出:

enter image description here

+0

只是一件事,如果你能幫助我。文本就像ABC DEF G *****。然後是一些文本。然後ABC DEF G ******。我希望下一行的文本在*****之後,直到我再次到達A的第二個。此外,如果文本不存在,這個表達式會做什麼。第一個問題我也可以通過在我的插件中進行字符掃描來解決問題。可以告訴如果這個文本不存在會發生什麼。 –

+0

@NikhilSaxena試試這種情況:'(?<= ABC DEF G)[^ \ n] * \ n \ K [\ s \ S] *(?= ABC DEF G)'。請參閱[這裏](https://regex101.com/r/8cOYW8/2)。您正在從下一行開始選擇。 – Gurman

+0

它工作正常。但在某些情況下,它不工作。當它不工作時,文本文件大約4個lac線,如果小文件高達2.5 lac,它正在工作。這種搜索可能會失敗文件大小或可能是其他原因? –

相關問題