我在匹配一个字符串的键值对,在字符""之间用 "(.*?)"
如何才能忽略值部分的额外""字符。
字符串示例 {"1"=>"[email protected]"}
您可以使用
String pat = "(?<=\\{|=>)\"(.*?)\"(?=\\}|=>)";
见 搜索引擎演示
详细内容
(?<=\{|=>)
- 前面的位置匹配的正向的lookbehind。{
或 =>
"
- 双引号(.*?)
- 第1组:除换行符外的任何0个或更多的字符,尽量少用。"
- 双引号(?=\}|=>)
- 匹配的位置的正向先导,紧跟其后的是 }
或 =>
.