XML文件中配置正则表达式
2015-09-07 00:00
239 查看
摘要: 在XML中配置正则表达式 真的是醉了
例XML:
<data type="REGEX">
<code>prop1</code>
<name>书名</name>
<method>
<![CDATA[
(?i)(?<=BookName\: \")([\u4e00-\u9fa5]+)
]]>
</method>
</data>
1)正则中含有<是会有错误的,需要进行处理;
2)注意和Java文件中的写法稍微不一样啊(反斜杠/) 多写一个结果就可能出不来了(⊙o⊙)哦
例Java:
public class TestRegex {
public static void main(String[] args) throws Exception {
String str ="BookName: \"我欲封天\",CategoryName: \"仙侠\", SubCategoryName: \"古典仙侠\"";
String regex = "(?i)(?<=CategoryName\\: \")([\u4e00-\u9fa5]+)";
System.out.println(getRegexValue(regex, str, true).toString());
}
public static Object getRegexValue(String regex, String html, boolean isList) {
if (isList == false) {
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(html);
return matcher.find() == true ? matcher.group() : null;
} else {
List<String> result = new ArrayList<String>();
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(html);
while (matcher.find()) {
result.add(matcher.group());
}
return result;
}
}
}
例XML:
<data type="REGEX">
<code>prop1</code>
<name>书名</name>
<method>
<![CDATA[
(?i)(?<=BookName\: \")([\u4e00-\u9fa5]+)
]]>
</method>
</data>
1)正则中含有<是会有错误的,需要进行处理;
2)注意和Java文件中的写法稍微不一样啊(反斜杠/) 多写一个结果就可能出不来了(⊙o⊙)哦
例Java:
public class TestRegex {
public static void main(String[] args) throws Exception {
String str ="BookName: \"我欲封天\",CategoryName: \"仙侠\", SubCategoryName: \"古典仙侠\"";
String regex = "(?i)(?<=CategoryName\\: \")([\u4e00-\u9fa5]+)";
System.out.println(getRegexValue(regex, str, true).toString());
}
public static Object getRegexValue(String regex, String html, boolean isList) {
if (isList == false) {
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(html);
return matcher.find() == true ? matcher.group() : null;
} else {
List<String> result = new ArrayList<String>();
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(html);
while (matcher.find()) {
result.add(matcher.group());
}
return result;
}
}
}
相关文章推荐
- vim一些自己常用到的知识点,不断补充。。
- qt5 build
- Qt5.5.0编译移植到Linux-Arm-A9
- qt 移植 xp 的问题
- 查询mysql日志以及slow sql
- Monit监控
- spark调优1
- PostgreSQL忘记输入where条件update更新整张表的解决办法
- 为PostgreSQL数据库中没有主键的表增加主键
- PostgreSQL根据某字段取平均值后插入另外字段实现一例
- 程序员如何快速的适应新工作
- Unity 2D游戏开发教程之精灵的死亡和重生
- iOS开发之加载大量网络图片优化
- windows安装mongoDB
- Nodejs架构之Express初体验
- Js 常用调试的方法
- 全文检索技术--solr
- [16腾讯在线笔试题2]-填数字
- 六度人脉,每一个擦肩而过都有可能和你有关系
- oracle 10g的long类型处理bug