[^a] означает любой символ, отличный от a, мы знаем, но что означает [^] (без следующих символов)? Точно так же, как - теряет смысл символьного диапазона в таких случаях, как [-], я предположил, что [^] будет соответствовать карете. Я слишком долго отлаживал эту проблему, только чтобы узнать, что, по крайней мере, в Chrome 19, похоже, что-то похожее, другими словами, эквивалентно .. Существует ли спецификация, применимая здесь или каково ожидаемое поведение?
Да, я знаю, что могу и, вероятно, должен использовать [\^]. Этот вопрос больше связан с характером болезненного любопытства.