Reg. vyraz match & non-match
Pavel Šmerk
xsmerk na informatics.muni.cz
Pátek Srpen 30 18:32:07 MEST 2002
Jindrich Kubec wrote:
> Vstup:
>
> 1) string1: neco string2
> 2) string1: neco neco neco
> 3) string2 neco string1
> 4) string1
> 5) string1:string2
>
> Vystup:
> Chci radky, kde je string1: ale ne string2, tj. radky 2,3,4.
No, na tretim radku je string2 a na ctvrtem neni string1:, tak nevim :-)
perl -ne 'print if /string1:/ and not /string2/'
vytiskne druhy radek.
> Jde to napsat jednim regularnim vyrazem? Me se to nepodarilo a perlre mi
> moc nepomohlo :-( Mastering RE mam bohuzel zatim sbaleny v nekde
> garazi...
Jednim regularnim vyrazem to pravda neni, moc nechapu duvod takoveho
pocinani. Napr.
perl -ne 'print if /^(?:(?!string2).)*string1:(?:(?!string2).)*$/'
je mozna spravne, ale tipuju, ze efektivita pujde rapidne dolu.
P.
Další informace o konferenci Perl