我有一个键值列表: -
{
"xxx" : "1234",
"yyy" : "1234",
"zzz" : "1234"
}
我有正则表达式: -
String pattern = ".*zzz\\s*:\\s*(.*)[\n\r]";
当密钥为'zzz'时,仅在匹配的情况下提取值。
但是由于引号我没有得到匹配......我怎么能交替我的模式来获得比赛?另外,我也不想在我的价值中得到报价。
答案 0 :(得分:1)
由于zzz
之后缺少双引号,您无法获得匹配。
String pattern = ".*zzz\"\\s*:\\s*(.*)[\n\r]";
^--- Here
顺便说一句,您可以使用:
String pattern = ".*zzz\".*?\"(.*?)\"";
然后,您必须通过匹配器match(1)
抓取捕获组中的内容。
<强> Regex demo 强>
<强> IDE One demo 强>