Java正则表达式,用于将带引号的字符串与转义的引号匹配
问题内容:
我知道已经有很多类似我的问题,但是我找不到在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}))*\""