-
1. Data: 2014-07-10 14:19:28
Temat: Wyrazenie regularne, grupy i powtorzenia
Od: "R.e.m.e.K" <p...@w...pl>
Witam
Zalozmy, ze mam dane tego typu:
Nazwa druzyny: "Misie"
nazwisko: "Jakubczyk"
nazwisko: "Wolski"
nazwisko: "Kowalski"
nazwisko: "Midor"
Nazwa druzyny: "Rybki"
nazwisko: "Nowak"
Nazwa druzyny: "Kaczuszki"
nazwisko: "Klimko"
nazwisko: "Lewandowski"
czyli nazwa druzyny i rozna liczba nazwisk osob do druzyny nalezacych.
Czy jest mozliwe wyciagniecie za pomoca jednego regexpa pogrupowanych nazw
druzyn i nazwisk w nich wystepujacych?
Tak, aby otrzymac:
"Misie"
Jakubczyk
Wolski
Kowalski
Midor
"Rybki"
Nowak
"Kaczuszki"
Klimko
Lewandowski
Innymi slowy czy regexpy pozwalaja na takie uzycie operatora grupy (), zeby
wyciagac rozna liczbe grup na jedno dopasowanie?
--
pozdro
R.e.m.e.K
-
2. Data: 2014-07-11 19:22:40
Temat: Re: Wyrazenie regularne, grupy i powtorzenia
Od: Tomasz Sowa <t...@N...ttmath.org>
Witam, dnia Thu, 10 Jul 2014 14:19:28 +0200
"R.e.m.e.K" <p...@w...pl> napisał:
> Czy jest mozliwe wyciagniecie za pomoca jednego regexpa pogrupowanych
> nazw druzyn i nazwisk w nich wystepujacych?
/home/tomek$ cat swinka.sh
#!/bin/sh
echo 'Nazwa druzyny: "Misie"
nazwisko: "Jakubczyk"
nazwisko: "Wolski"
nazwisko: "Kowalski"
nazwisko: "Midor"
Nazwa druzyny: "Rybki"
nazwisko: "Nowak"
Nazwa druzyny: "Kaczuszki"
nazwisko: "Klimko"
nazwisko: "Lewandowski"' |
sed -E 's/^Nazwa druzyny:[ ]*("[^"]*")|^nazwisko:[ ]*"([^"]*)"/\1\2/'
/home/tomek$ ./swinka.sh
"Misie"
Jakubczyk
Wolski
Kowalski
Midor
"Rybki"
Nowak
"Kaczuszki"
Klimko
Lewandowski
--
Tomek