java用正则表达式截取json多余的字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java用正则表达式截取json多余的字符串相关的知识,希望对你有一定的参考价值。
例如
"name":"zhang","pass':'123'1245
用正则表达式获取的结果是
"name":"zhang","pass':'123'
去掉1245
1245这些字符串不固定
这样的话,只需要截取需要的字符串即可。
举例:
public static void main(String[] args)String parse="[CSTM_NO:\\"11118\\",CSTM_NAME:\\"广东XX电力有限公司\\",FIX_GNL:\\"111810158\\",FIX_ACC:\\"D201306070003\\",OP_FLAG:\\"正常\\",BUSS_KIND_NAME:\\"三个月定期存款\\",BAL:\\"25,178,750.00\\",AVAL_BAL:\\"25,178,750.00\\",OP_DATE:\\"2013-06-07\\",DUE_DATE:\\"2013-12-07\\",ROWNUM_:1,idx:0,CSTM_NO:\\"11118\\",CSTM_NAME:\\"广东XX电力有限公司\\",FIX_GNL:\\"111810158\\",FIX_ACC:\\"D201306070002\\",OP_FLAG:\\"正常\\",BUSS_KIND_NAME:\\"三个月定期存款\\",BAL:\\"25,178,750.00\\",AVAL_BAL:\\"25,178,750.00\\",OP_DATE:\\"2013-06-07\\",DUE_DATE:\\"2013-12-07\\",ROWNUM_:3,idx:2,CSTM_NO:\\"11118\\",CSTM_NAME:\\"广东XX电力有限公司\\",FIX_GNL:\\"111810158\\",FIX_ACC:\\"D201306070005\\",OP_FLAG:\\"正常\\",BUSS_KIND_NAME:\\"三个月定期存款\\",BAL:\\"25,178,750.00\\",AVAL_BAL:\\"25,178,750.00\\",OP_DATE:\\"2013-06-07\\",DUE_DATE:\\"2013-12-07\\",ROWNUM_:4,idx:3]";
String regex="FIX_ACC:(.*?),OP_FLAG";//别忘了使用非贪婪模式!
Matcher matcher=Pattern.compile(regex).matcher(parse);
while(matcher.find())
String ret=matcher.group(1);
System.out.println(ret);
参考技术A 需要用正则表达式吗?你直接用“”分割字符串,再把前面的字符串加个“”不就完了么?我不知道是否还有其他的约束,如果单从你的举例来看,完全没有必要用正则表达式
String instr="\"name\"\:\"zhang\",\"pass\'\:\'123\'1245";
String [] str=instr.split("");
String oustr=str[0] + "";
忘了“”要不要转义了,如果需要你加上就是了 参考技术B 需要用正则表达式吗?你直接用“”分割字符串,再把前面的字符串加个“”不就完了么?我不知道是否还有其他的约束,如果单从你的举例来看,完全没有必要用正则表达式
String instr="\"name\"\:\"zhang\",\"pass\'\:\'123\'1245";
String [] str=instr.split("");
String oustr=str[0] + "";
忘了“”要不要转义了,如果需要你加上就是了
以上是关于java用正则表达式截取json多余的字符串的主要内容,如果未能解决你的问题,请参考以下文章