Чтобы определить символ "
в строковом литерале в Java, вам нужно его отключить для механизма разбора строк, например "\""
.
Символ "
является , а не специальным метасимволом регулярных выражений, поэтому вам не нужно экранировать этот символ для механизма регулярных выражений . Однако вы можете сделать это :
Обратная косая черта может использоваться до не алфавитного символа, независимо от того, является ли этот символ частью неэкранированной конструкции.
Чтобы определить экранирование регулярного выражения, используется литеральная обратная косая черта, и она определяется двойной обратной косой чертой в строковом литерале Java, "\\"
:
Поэтому необходимо удвоить обратную косую черту в строковых литералах, представляющих регулярные выражения, чтобы защитить их от интерпретации компилятором байт-кода Java.
Итак, "\""
(буквальная "
строка) и "\\\""
(буквальная \"
строка) образуют шаблон регулярного выражения, соответствующий одному "
символу.