Java Regex用于匹配带引号的字符串和转义引号

我知道已经有很多像我这样的问题,但是我找不到适用于Java的答案。 所以我写了一个新问题。

我有包含这样内容的文本文件:

 key1 =“这是一个带有'\\'字符的转义的”test“文本”;
 key2 ='它必须与''单引号和“双引号”一起使用;

我需要一个与双引号(或单引号)中的值匹配的正则表达式。 此正则表达式必须支持转义的引号和转义的反斜杠。 正则表达式必须与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}))*\""