java正则表达式处理一段字符串得到指定字符后面的字符,

"{hello:{"名字":"李四"}}",通过名字:获取李四... "{hello:{"名字":"李四"}}",通过名字:获取李四 展开
 我来答
非亭rainti
2013-09-04 · TA获得超过119个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:91.2万
展开全部
var b=""{hello:{"名字":"李四"}}""
var reg=new RegExp("李四","gi");
var a=ret.exec(b);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霸天无义
推荐于2017-12-16 · TA获得超过3695个赞
知道大有可为答主
回答量:1439
采纳率:50%
帮助的人:1276万
展开全部

为什么要用正则呢。java里边可以用工具类去解析得到呀。 

有现成的。

像org.json包等。


用正则的话也可以。

package test;  
  
import java.util.ArrayList;  
import java.util.HashMap;  
import java.util.List;  
import java.util.Map;  
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
  
public class Test {  
    public static void main(String[] args) {  
        String s = "[{\"name\":\"zhangsan\",\"sex\":\"男\"},{\"name\":\"lisi\",\"sex\":\"女\"},{\"name\":\"wangwu\",\"sex\":\"男\"}]";  
        List<Map<String, String>> list = new ArrayList<Map<String, String>>();  
        Map<String, String> map = null;  
        Pattern p = Pattern.compile("(\"\\w+\"):(\"[^\"]+\")");  
        Matcher m = p.matcher(s);  
        String[] strs = null;  
        while (m.find()) {  
            strs = m.group().split(":");  
            if (strs.length == 2) {  
                map = new HashMap<String, String>();  
//              System.out.println(_strs[0].replaceAll("\"", "").trim() + "="  
//                      + _strs[1].trim().replaceAll("\"", ""));  
                map.put(strs[0].replaceAll("\"", "").trim(), strs[1].trim()  
                        .replaceAll("\"", ""));  
                list.add(map);  
            }  
  
        }  
         System.out.println(list);  
    }  
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式