Portál AbcLinuxu, 6. května 2025 06:18

Dotaz: Matchování všeho krom ] v regexpu v javascriptu

24.6.2009 17:54 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
Matchování všeho krom ] v regexpu v javascriptu
Přečteno: 249×
Odpovědět | Admin
Nevíte někdo, jak v javascriptu napsat regexp, ve kterém by bylo něco, co by matchovalo jakýkoliv jiný znak, než ]? Nějak nevím, jak to oescapovat uvnitř [^]]. Díky za případnou pomoc.
„O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.6.2009 18:12 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Matchování všeho krom ] v regexpu v javascriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Malo by fungovať práve to [^]] (a mne to aj funguje).
24.6.2009 18:25 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
Rozbalit Rozbalit vše Re: Matchování všeho krom ] v regexpu v javascriptu
Mě to nějak nefunguje a /[^]]/ mi matchuje jakýkoliv znak následovaný ]. Nicméně jsem svůj problém vyřešil Cimrmanovským úkrokem stranou a již matchuji z druhé strany a potřebu matchovat ^] jsem obešel.

Pro zájemce: V parseru sgf jsem potřeboval matchovat hodnotu vlastnosti, která se pozná tak, že je uzavřena do [] a obsahuje cokoliv, může obsahovat \], což není ukončení této hodnoty, může být i prázdná (tedy pouze []).

Nakonec jsem dospěl k /(\[((\w)|(\W))*?[^\\]])|(\[])/m , což se zdá funguje.
„O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
25.6.2009 07:42 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Matchování všeho krom ] v regexpu v javascriptu
Mě to nějak nefunguje a /[^]]/ mi matchuje jakýkoliv znak následovaný ].
Tak to funguje dobře. Přesněji řečeno to najde jakýkoliv znak, který není ], a je tomu docela jedno, co za ním následuje.
In Ada the typical infinite loop would normally be terminated by detonation.
7.7.2009 20:01 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
Rozbalit Rozbalit vše Re: Matchování všeho krom ] v regexpu v javascriptu
Nikoliv, "matchuje jakýkoliv znak následovaný ]", tedy z 'ahoj svete] neco vam chci rict' to matchne 'e]'.
„O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."

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.