Portál AbcLinuxu, 9. května 2025 22:54

Dotaz: Regulární výraz - [^sekvence]

16.6.2006 14:08 Jan Odvárko | skóre: 10
Regulární výraz - [^sekvence]
Přečteno: 91×
Odpovědět | Admin
Ahoj,
mám následující problém: Potřebuju v textu nahradit všechny řetězce mezi '' a '' nějakou hodnotou, ovšem s minimální žravostí.
''.+'' nevyhovuje, protože nahradí všechno od prvního výskytu '' do posledního výskytu ''. Pokud bych měl například: ''jedna'' dvě ''tři'', tak mi sežere všechno naráz.
Nabízí se něco jako tohle: ''[^'']+'' jenže problém je, že [ ] je třída znaků, takže [^''] a [^'] jsou ekvivalenty, a to mi nevyhovuje, protože jeden apostrof už naruší substituci. Hledám tedy už hodně dlouho něco ve stylu [^(sekvence)], kde sekvence je přesná posloupnost více znaků. Tenhle výraz je samozřejmě nesmysl. Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Fill avatar 16.6.2006 14:15 Fill | skóre: 19 | blog: Fill | Třebíč
Rozbalit Rozbalit vše Re: Regulární výraz - [^sekvence]
Odpovědět | | Sbalit | Link | Blokovat | Admin
Otázka je v jakém jazyce to chceš řešit. Např. ve Vim a v Perlu je na minimální žravost přepínač.
♡ Všechna bezpráví vyhlazena., Sociální síť, Rádio, Profil, Skripty na bitcoin mikrodary, titulky, YFiaS
16.6.2006 14:17 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Regulární výraz - [^sekvence]
Jedná se o Perl, konkrétně to používám ve funkci preg_replace_callback v PHP.
Fill avatar 16.6.2006 14:22 Fill | skóre: 19 | blog: Fill | Třebíč
Rozbalit Rozbalit vše Re: Regulární výraz - [^sekvence]
Podle man perlre by to měl být přepínač ? za kvantifikátorem. Tj. např.:

/''.*?''/

Snad to bude fungovat i v tom PHP.
16.6.2006 14:30 Jan Odvárko | skóre: 10
Rozbalit Rozbalit vše Re: Regulární výraz - [^sekvence]
Páni tak já na to civěl v manuálu a vůbec mi nedošlo že se to funkčně liší od těch podobných řádků kousek nad tím. Díky
Fill avatar 16.6.2006 14:40 Fill | skóre: 19 | blog: Fill | Třebíč
Rozbalit Rozbalit vše Re: Regulární výraz - [^sekvence]

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.