На самом деле самый простой ответ: не используйте регулярное выражение, просто найдите сам символ.
Более длинный ответ: см. Подробности синтаксиса регулярного выражения в escape .
В классах charcter, ^
является особенным, только если это символ первый .Так что [a-z^]
будет соответствовать любому из a-z
или ^
, тогда как [^a-z]
соответствует всему, кроме a-z
(поскольку ^
в качестве первого символа является отрицанием).
За пределами класса символов ^
соответствует началу строки, если вы не экранируете его с помощью \
.А для встроенных строк Java вам нужно записать это как "\\^"
.