Mam dokument z dużą ilością rozłożonych SHA256.
Chcę zachować tylko SHA256 (powiedzmy, że jest w nim 500 sha256) i usunąć cały pozostały tekst.
Na przykład:
asdasd 59A412341527D3F10BCBAD26536428772144767D5325710B245367505B0D8024 oberead
Lsdfsdf 21A410631527D3F10BCBAD26536428772144767D5325710B2F9D668057864444 c:pr0
DO
21A410631527D3F10BCBAD26536428772144767D5325710B2F9D668057864444
59A412341527D3F10BCBAD26536428772144767D5325710B245367505B0D8024
Mam jej część, ale nie mogę zachować tylko sha, obecnie mam regex [a-zA-Z0-9]{64}
który znajduje wszystkie ciągi zawierające 64 litery.
Może uda nam się nawet usunąć małą literę a-z
ponieważ sha prawie nigdy nie używa małych liter.
dziękuję, próbowałem metod, które widziałem na forach, ale nie mogłem tego zrobić.
Odpowiedzi:
1 dla odpowiedzi № 1Posługiwać się
(b[A-Zd]{64}b)|(?:(?!b[A-Zd]{64}b).)*
i zastąpić $1
.
Detale:
(b[A-Zd]{64}b)
- Przechwyć grupę 1 pasującą do 64 symboli, wielkich liter lub cyfr, jako całych słów, ponieważ wokół wzorca są granice słów|
- lub(?:(?!b[A-Zd]{64}b).)*
- jakikolwiek inny tekst do pierwszego wystąpienia pierwszego wzorca.