Regex提取子串,忽略用于匹配的内部字符。

问题描述 投票:0回答:1

我在匹配一个字符串的键值对,在字符""之间用 "(.*?)" 如何才能忽略值部分的额外""字符。

字符串示例 {"1"=>"[email protected]"}

regex string keyvaluepair
1个回答
0
投票

您可以使用

String pat = "(?<=\\{|=>)\"(.*?)\"(?=\\}|=>)";

搜索引擎演示

详细内容

  • (?<=\{|=>) - 前面的位置匹配的正向的lookbehind。{=>
  • " - 双引号
  • (.*?) - 第1组:除换行符外的任何0个或更多的字符,尽量少用。
  • " - 双引号
  • (?=\}|=>) - 匹配的位置的正向先导,紧跟其后的是 }=>.
© www.soinside.com 2019 - 2024. All rights reserved.