2017-03-12 35 views
-2

我想刪除一個文本文件中的幾件事情,但它是waaay太多的工作做手工,我想我需要一個正則表達式記事本++一些奇怪的正則表達式

的Myname的:Wow11: [email protected]:2017年2月11日:TT:d:無:李四

我想刪除除Wow11一切:[email protected]

怎麼會是這樣可能嗎?非常感謝你

+0

它應該如何發現,如果它不知道在哪裏或尋找什麼? – sln

回答

1

做一個正則表達式查找/替換這樣的:

  • 打開替換對話框
  • 查找內容:^[^:]+:(([^:]+:?){2}):.+(\R)
  • 替換爲:\1\3
  • 檢查正則表達式
  • 單擊替換或全部替換

說明
在這裏,我們試圖確定的東西不跟:一個:序列,這是[^:]+:應該完成的任務。

  • 第一個這樣的序列linestart ^是通過把([^:]+:?){2}成另一種對括號的第三個這樣的序列之後
  • 一切忽略
  • 第二和第三個這樣的序列被存儲到\1在更換重用後(.+)再次忽略
  • 忽略這裏的意思是:沒有捕獲,不用於替換
  • \R的linending匹配,並且再次捕獲了更換過程中重用爲\3
  • 我們使用\R.+防止後全部更換已經取代了所有行,什麼又保持比賽和是更換第二次
+0

太棒了,正是我需要的。 – Lucas

0

在記事本++從您的示例文本字符串中刪除不需要的文本上面,你會做到以下幾點:

  • 選擇搜索
  • 選擇替換
  • 選擇正則表達式

的搜索模式查找內容:

\1 
0

只是把我的兩分錢中:

\S+:(\S+:\[email protected]\S+\.com).* 

替換爲

^[^:]+:([^:]+:[^:]+).+$ 

查找上述表達式,打開MULTILINE模式,並用\1替換找到的匹配項,請參閱a demo on regex101.com