2016-07-17 70 views
2

我有一個很多散佈在它的SHA256文件。正則表達式刪除所有,但sha256記事本++

我想只保留SHA256(假設有500個sha256)並刪除所有其他文本。

例如:

asdasd 59A412341527D3F10BCBAD26536428772144767D5325710B245367505B0D8024 obe\read 
Lsdfsdf 21A410631527D3F10BCBAD26536428772144767D5325710B2F9D668057864444 c:\pr0 

TO

21A410631527D3F10BCBAD26536428772144767D5325710B2F9D668057864444 
59A412341527D3F10BCBAD26536428772144767D5325710B245367505B0D8024 

我有它的一部分,但我不能設法只保留SHA的,我現在已經是正則表達式[a-zA-Z0-9]{64}指找到所有的字符串有64個字母。

也許我們甚至可以刪除小寫a-z,因爲sha幾乎從不使用小寫字母。

謝謝,我嘗試了在論壇中看到的方法,但無法使其工作。

+0

[\ b [A-Z \ d] {64} \ b'](https://regex101.com/r/dY7wO9/1)怎麼樣? –

+0

使用['(\ b [AZ \ d] {64} \ b)|(?:(?!\ b [AZ \ d] {64} \ b)。)*'](https:// regex101。 com/r/dY7wO9/1),並用'$ 1'替換,更好? –

+0

[學習正則表達式]可能的副本(http://stackoverflow.com/questions/4736/learning-regular-expressions) –

回答

0

使用

(\b[A-Z\d]{64}\b)|(?:(?!\b[A-Z\d]{64}\b).)* 

$1取代。

詳細

  • (\b[A-Z\d]{64}\b) - 捕獲組1匹配64個符號,大寫字母或數字時,整個單詞由於這樣的事實,有圍繞子模式
  • |字邊界 - 或
  • (?:(?!\b[A-Z\d]{64}\b).)* - 直到第一個子模式第一次出現爲止的任何其他文本。