Strona 1 z 1

Dopasowanie wyrażenia regularnego

: 19 maja 2011, 18:17
autor: patryk007@vp.pl
Znam jako-tako wyrażenia regularne na tyle ile to mi było (jest) potrzebne.
Jednak nie wiem jak zrobić takie coś, że mająć jakiś tekst:
dlkasjfl sdngd gs34 g 3465 3526 21 wfdgs
sgflsdgm,m34;
34 ergkmmklm 04-234 90s ,f,dsg23-259kjnkj
dsa 43-231hbjhb
wyciągnąć wszystkie (3 w tym przypadku) dopasowania (które mogą być tak jak tu kodami pocztowymi) i gdzieś zapisać.
W AWK bym napisał
AWK pisze:$j ~ /[0-9]{2}-[0-9]{3}/
, załóżmy, że FS (FiledSeparator) byłby ustawiony tylko na [:blank:] czyli spacje i tabulacje a $j to kolejny pobrany wyraz. Wtedy bym mógł stwierdzić czy w takim słowie:
,f,dsg23-259kjnkj
jest zapisany gdzieś kod pocztowy czy nie. Ale nie wiedziałbym jak go wyciągnąć. I to jest mój problem. Wyciągnąć takie dopasowania.
JAK?

Re: Dopasowanie wyrażenia regularnego

: 19 maja 2011, 19:28
autor: Carnophage

Kod: Zaznacz cały

egrep -o "[0-9]{2}-[0-9]{3}" plik_z_danymi