Dopasowanie wyrażenia regularnego

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
patryk007@vp.pl

Dopasowanie wyrażenia regularnego

Post 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?
Awatar użytkownika
Carnophage
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 169
Rejestracja: 03 maja 2008, 22:08
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64
Lokalizacja: 127.0.0.1
Kontakt:

Re: Dopasowanie wyrażenia regularnego

Post autor: Carnophage »

Kod: Zaznacz cały

egrep -o "[0-9]{2}-[0-9]{3}" plik_z_danymi
Happy aptosid user ^__^
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 22 gości