代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
xml解析利用正则表达式获取指定两个字符串之间内容
作者:
方强
/ 发布于
2018/9/27
/
983
在遇到解析复杂xml的时候,想到大家所想到的都是利用dom4j作为首发工具,但是当遇到层次很多,较为复杂,我们难道还需要从根节点一层一层的解析下去吗?此时不仅代码繁琐,而且准确率还不是那么高,采用此种方式,可以获取指定两种字符串之间的任意xml文本。
package com.starit.analyse.util; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class DealStrSub { ?? ?/** ?? ? * 正则表达式匹配两个指定字符串中间的内容 ?? ? * @param soap ?? ? * @return ?? ? */ ?? ?public static List<String> getSubUtil(String soap,String rgex){ ?? ??? ?List<String> list = new ArrayList<String>(); ?? ??? ?Pattern pattern = Pattern.compile(rgex);// 匹配的模式 ?? ??? ?Matcher m = pattern.matcher(soap); ?? ??? ?while (m.find()) { ?? ??? ??? ?int i = 1; ?? ??? ??? ?list.add(m.group(i)); ?? ??? ??? ?i++; ?? ??? ?} ?? ??? ?return list; ?? ?} ?? ? ?? ?/** ?? ? * 返回单个字符串,若匹配到多个的话就返回第一个,方法与getSubUtil一样 ?? ? * @param soap ?? ? * @param rgex ?? ? * @return ?? ? */ ?? ?public static String getSubUtilSimple(String soap,String rgex){ ?? ??? ?Pattern pattern = Pattern.compile(rgex);// 匹配的模式 ?? ??? ?Matcher m = pattern.matcher(soap); ?? ??? ?while(m.find()){ ?? ??? ??? ?return m.group(1); ?? ??? ?} ?? ??? ?return ""; ?? ?} ?? ? ?? ?/** ?? ? * 测试 ?? ? * @param args ?? ? */ ?? ?public static void main(String[] args) { ?? ??? ?String str = "abc3443abcfgjhgabcgfjabc"; ?? ??? ?String rgex = "abc(.*?)abc"; ?? ??? ?System.out.println(getSubUtil(str,rgex)); ?? ??? ?System.out.println(getSubUtilSimple(str, rgex)); ?? ?} ? }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
方强
贡献的其它代码
(
8
)
.
xml解析利用正则表达式获取指定两个字符串之间内容
.
生成时间+4位随机号
.
查询所有本周,本月的数据
.
解析url获取域
.
剪贴板相关
.
查找配置文件的工具类
.
实现前台标题变色
.
验证码倒计时60秒
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3