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