C# 正则表达式的使用,匹配多组数据,如何逐个提取?
reciveString="<?xmlversion='1.0'encoding='utf-8'?><body><response><ret_code>0</ret_co...
reciveString="<?xml version='1.0' encoding='utf-8' ?><body><response><ret_code>0</ret_code><ret_info>成功</ret_info><ORG_CODE>41961192</ORG_CODE><ITEM_ID>2</ITEM_ID><ITEM_NAME>资源上传服务</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE><ORG_CODE>41961192</ORG_CODE><ITEM_ID>3</ITEM_ID><ITEM_NAME>WEB站点监控</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE></response></body>";
如上一段字符串,我想提取出<ORG_CODE>到下一个</PARAMETER_VALUE>的数据,然后是下一组数据,我现在只能实现从第一个<ORG_CODE>到最后一个</PARAMETER_VALUE>,怎么样实现多组?
理想中的结果:
a="<ORG_CODE>41961192</ORG_CODE><ITEM_ID>2</ITEM_ID><ITEM_NAME>资源上传服务</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>"
b="<ORG_CODE>41961192</ORG_CODE><ITEM_ID>3</ITEM_ID><ITEM_NAME>WEB站点监控</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>" 展开
如上一段字符串,我想提取出<ORG_CODE>到下一个</PARAMETER_VALUE>的数据,然后是下一组数据,我现在只能实现从第一个<ORG_CODE>到最后一个</PARAMETER_VALUE>,怎么样实现多组?
理想中的结果:
a="<ORG_CODE>41961192</ORG_CODE><ITEM_ID>2</ITEM_ID><ITEM_NAME>资源上传服务</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>"
b="<ORG_CODE>41961192</ORG_CODE><ITEM_ID>3</ITEM_ID><ITEM_NAME>WEB站点监控</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>" 展开
1个回答
展开全部
用非贪婪模式的正则表达式 <ORG_CODE>[\s\S]*?</PARAMETER_VALUE>
就是比贪婪模式的正则表达式多了个问号
我给你个Java语言的例子,你看看吧
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class BB {
public static void main(String[] args) {
String reciveString="<?xml version='1.0' encoding='utf-8' ?><body><response><ret_code>0</ret_code><ret_info>成功</ret_info><ORG_CODE>41961192</ORG_CODE><ITEM_ID>2</ITEM_ID><ITEM_NAME>资源上传服务</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE><ORG_CODE>41961192</ORG_CODE><ITEM_ID>3</ITEM_ID><ITEM_NAME>WEB站点监控</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE></response></body>";
String regex="<ORG_CODE>[\\s\\S]*?</PARAMETER_VALUE>";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(reciveString);
while(m.find()){
System.out.println(m.group());
}
}
}
运行结果
<ORG_CODE>41961192</ORG_CODE><ITEM_ID>2</ITEM_ID><ITEM_NAME>资源上传服务</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>
<ORG_CODE>41961192</ORG_CODE><ITEM_ID>3</ITEM_ID><ITEM_NAME>WEB站点监控</ITEM_NAME><PARAMETER_VALUE>4000</PARAMETER_VALUE>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询