正则表达式提取字符串内容

blackleech 2017-08-02 09:42:38
我有一个从前段传递到java中的数据是
 {"selTypes":["skin20170728558558","skin20170801559559"]} 

使用正则表达式想提取这个字符串中的skin20170728558558 和 skin20170801559559 这两个字符 这个表达是不是很清楚的写出来,希望各位能够帮帮我 谢谢

String indes = "";
selTypes.split(index);


请各位帮帮我!
...全文
164 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackleech 2017-08-07
  • 打赏
  • 举报
回复
你好 朋友 非常谢谢你的回复 这个疑问是这样的
{"selTypes":["skin20170728558558","skin20170801559559"]} 
是动态获取的,这次请求获取的是两个,下次就不知道值是几个编号传递过来,这个功能是做根据标号批量删除处理的功能.我不知道怎么使用正则表达式去获取
blackleech 2017-08-03
  • 打赏
  • 举报
回复
谢谢各位的帮忙
wautsns 2017-08-03
  • 打赏
  • 举报
回复
引用 5 楼 blackleech 的回复:
我想问一下

String group1 = matcher.group(1);
System.out.println(group1);

将获取的数据转变为String类型,怎么会报错误呢,错误是:No match found

需要先执行matcher.find();该方法是判断是否存在下个匹配该正则的字符串。举个例子给你。
blackleech 2017-08-03
  • 打赏
  • 举报
回复
我想问一下

 String group1 = matcher.group(1);
 System.out.println(group1);
将获取的数据转变为String类型,怎么会报错误呢,错误是:No match found
潇湘如梦 2017-08-02
  • 打赏
  • 举报
回复
String regex="\\[\"(.*)\",\"(.*)\"\\]";
        String string="{\"selTypes\":[\"skin20170728558558\",\"skin20170801559559\"]}";
        Pattern pattern=Pattern.compile(regex);
        Matcher matcher=pattern.matcher(string.trim());
        if (matcher.find()) {
            System.out.println(matcher.group(1)+" , "+matcher.group(2));
        }else{
            System.out.println("not found");
        }
潇湘如梦 2017-08-02
  • 打赏
  • 举报
回复
这种应用场景下一般是会将字符串解析成json对象,然后根据key获得jsonarray,然后再取lz想要的结果 如果按照lz的写法,可以这样写:
String[] ss=string.trim().split("\"");
        System.out.println(ss[3]+","+ss[5]);
wautsns 2017-08-02
  • 打赏
  • 举报
回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧