Portál AbcLinuxu, 23. dubna 2024 14:33


Dotaz: regexp

9.7.2005 12:46 Mino
regexp
Přečteno: 68×
Odpovědět | Admin
Zdravim, potrebuji regularni vyraz, kteremu vyhovi retezec s hvezdickou bud na zacatku nebo na konci. Tedy vyhovi *cokoliv nebo cokoliv* (v cokoliv neni hvezdicka). Ale nevyhovi mu retezce *cokoliv* nebo cokoliv.

Chtel bych to bez konstrukce (?(condition)yes-pattern|no-pattern). Jde pouze zapamatovat si, co vyhovelo vyrazu (*?) - hvezdicka nebo nic.
Dik
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.7.2005 12:58 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: regexp
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zapamatujete si,že byla hvězdička, prostě tím, že jdete jinou větví... Ale nejspíš jsem moc nepochopil zadání, nicměně aspoň to upřesníte :-)
[ivok@zero ~]$ cat x
*ok
*blbe*
jesteblbsi
taky ok*
[ivok@zero ~]$ perl -ne 'print if /^[^*]*\*$|^\*[^*]*$/' x
*ok
taky ok*
9.7.2005 13:02 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: regexp
Odpovědět | | Sbalit | Link | Blokovat | Admin
No tak to bude nejjednodušší mít dva regexpy \*.*[^*] a [^*].*\* a mezi výsledky uděláš xor.
When your hammer is C++, everything begins to look like a thumb.
9.7.2005 14:31 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: regexp
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co to proboha je (?(condition)yes-pattern|no-pattern)? A co je špatně na

/\*cokoliv($|[^*])|(^|[^*])cokoliv\*/

?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.