Problematicke regularni vyrazi.

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Říjen 25 09:53:31 MEST 1999


On Mon, Oct 25, 1999 at 08:51:41AM +0200, Skola Kromeriz wrote:
					  ^^^^^^^^^^^^^^
>    Potrboval jsem ve zdrojovych textech jednoho
> programu zmenit vsechny retezce ZACINAJICI slovem
> FRAME_ na retezece ZACINAJICI slovem GM_GFRAME_.
> To by nebyl az tak velky problem:
> 
>     s/FRAME_/GM_GFRAME_/g        // toto je samozrejme blbe
> 
> Potiz je ovsem v tom, ze kdyz jsem mel nekde uprostred
> nejakyho slova slova FRAME_ (napr. DELETE_FRAME_OK),
> tak se mi to zmenilo taky, coz jsem původne samozrejme nechtel.
> 
>    Muze te mi prosim poradit nejaky regularni vyraz, ktery by
> nasel slovo zacinajici znaky "xyz", ktere by zmenil na "abc".
> Vim jak to udelat, zacinaly radek na "xyz", ale se slovem si
> nevym rady. Jako oddelovac slov chapu samozrejme mezeru
> nebo tabulator.

Ale to prece umite. Hledejte mezeru nebo tabulator (Perl ma
i specialni symbol pro vsechny "mezerove" znaky) za kterym nasleduje
to Vase slovo a zpet vratte ten znak a jine slovo. Pozor na to, ze
zacatkem slova (v podstate v rozporu s Vasi definici) je i zacatek
radku, cili je tam nutno dat i tuhle moznost.

Jinak Perl ma moznost i specifikovat hranici mezi slovy, coz by (pokud
byste pozmenil to zadani) slo take snadno pouzit.

PS: asi by bylo dobre, pokud byste nastavil korektne jmeno, pod kterym
odchazi Vase prispevky.

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain, ...
------------------------------------------------------------------------


Další informace o konferenci Perl