[^a]
significa qualsiasi carattere diverso da a
, lo sappiamo, ma cosa significa [^]
(senza caratteri seguenti)? Proprio come -
perde il suo significato di intervallo di caratteri in casi come [-]
, supponevo che lo [^]
corrispondesse al punto di inserimento. Ho passato troppo tempo a eseguire il debug di questo problema, solo per scoprire che almeno in Chrome 19 sembra corrispondere a qualsiasi cosa - in altre parole, è equivalente a .
. C'è una specifica applicabile qui o qual è il comportamento previsto?Qual è il significato di [^] in espressioni regolari di Javascript?
Sì, sono a conoscenza che posso e probabilmente dovrei usare [\^]
. Questa domanda è più nella natura della curiosità morbosa.
Hmm. Annulla il set ma se il set è vuoto ... abbina qualcosa purché non sia niente? Non sembra giusto. Cosa combacia []? [^] dovrebbe corrispondere a tutto ciò che [] non corrisponde. – Okonomiyaki3000
In base alle risposte che seguono, sounnds significa "questa espressione non dovrebbe essere usata"! – jahroy
Test prestazioni correlati: http://jsperf.com/match-any-char-regex –