Я знаю, что уже существует много вопросов как мои, но я не нашел ответа, который работает в Java. Таким образом, я пишу новый вопрос.
У меня есть текстовые файлы с содержанием как это:
key1 = "This is a \"test\" text with escapes using '\\' characters"; key2 = 'It must work with \'single\' quotes and "double" quotes';
Мне нужно регулярное выражение, которое соответствует значениям в двойных кавычках (или одинарные кавычки). Это регулярное выражение должно поддерживать завершенные кавычки и вышло из обратных косых черт. Регулярное выражение должно работать со стандартом Java классы Pattern/Matcher.
Попробуйте это регулярное выражение:
'([^\\']+|\\([btnfr"'\\]|[0-3]?[0-7]{1,2}|u[0-9a-fA-F]{4}))*'|"([^\\"]+|\\([btnfr"'\\]|[0-3]?[0-7]{1,2}|u[0-9a-fA-F]{4}))*"
И как строковый литерал:
"'([^\\\\']+|\\\\([btnfr\"'\\\\]|[0-3]?[0-7]{1,2}|u[0-9a-fA-F]{4}))*'|\"([^\\\\\"]+|\\\\([btnfr\"'\\\\]|[0-3]?[0-7]{1,2}|u[0-9a-fA-F]{4}))*\""