¿Qué significa [^] en expresiones regulares de Javascript?
[^a]
significa cualquier personaje que no seaa
, lo sabemos, pero que hace[^]
(sin los siguientes caracteres) significa? Tal como-
pierde su significado de rango de caracteres en casos como[-]
, Lo asumo[^]
coincidiría con el caret. Pasé demasiado tiempo depurando este problema, solo para descubrir que al menos en Chrome 19 parece coincidir con cualquier cosa, en otras palabras, ser equivalente a.
. ¿Hay alguna especificación aplicable aquí o cuál es el comportamiento esperado?
Sí, soy consciente de que puedo y probablemente debería usar[\^]
. Esta pregunta es más en la naturaleza de la curiosidad mórbida.