java使用正则的例子
package com.accord.util;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式匹配两个字符串之间的内容
* @author Administrator
*
*/
public class RegexUtil {
public static void main(String[] args) {
String str = "<?xml version='1.0' encoding='UTF-8'?><ufinterface billtype='gl' filename='e:\1.xml' isexchange='Y' proc='add' receiver='1060337@1060337-003' replace='Y' roottag='sendresult' sender='01' successful='Y'><sendresult><billpk></billpk><bdocid>w764</bdocid><filename>e:\1.xml</filename><resultcode>1</resultcode><resultdescription>单据w764开始处理...单据w764处理完毕!</resultdescription><content>2017.09-记账凭证-1</content></sendresult><sendresult><billpk></billpk><bdocid>w1007</bdocid><filename>e:\1.xml</filename><resultcode>1</resultcode><resultdescription>单据w1007开始处理...单据w1007处理完毕!</resultdescription><content>2017.10-记账凭证-1</content></sendresult><sendresult><billpk></billpk><bdocid>w516</bdocid><filename>e:\1.xml</filename><resultcode>1</resultcode><resultdescription>单据w516开始处理...单据w516处理完毕!</resultdescription><content>2017.07-记账凭证-50</content></sendresult></ufinterface>";
//String str = "abc3443abcfgjhgabcgfjabc";
String rgex = "<bdocid>(.*?)</bdocid>";
System.out.println((new RegexUtil()).getSubUtil(str,rgex));
List<String> lists = (new RegexUtil()).getSubUtil(str,rgex);
for (String string : lists) {
System.out.println(string);
}
System.out.println((new RegexUtil()).getSubUtilSimple(str, rgex));
}
/**
* 正则表达式匹配两个指定字符串中间的内容
* @param soap
* @return
*/
public 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 String getSubUtilSimple(String soap,String rgex){
Pattern pattern = Pattern.compile(rgex);// 匹配的模式
Matcher m = pattern.matcher(soap);
while(m.find()){
return m.group(1);
java使用正则的例子的更多相关文章
- 7.20.01 java格式化输出 printf 例子
java格式化输出 printf 例子 importjava.util.Date; publicclassPrintf { publicstaticvoidmain(String[] args) { ...
- 【转】java格式化输出 printf 例子
[转]java格式化输出 printf 例子 转自http://www.cnblogs.com/TankMa/archive/2011/08/20/2146913.html#undefined imp ...
- fasttext的基本使用 java 、python为例子
fasttext的基本使用 java .python为例子 今天早上在地铁上看到知乎上看到有人使用fasttext进行文本分类,到公司试了下情况在GitHub上找了下,最开始是c++版本的实现,不过有 ...
- java即时通信小例子
学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...
- 关于Java深clone 的例子学习
之前http://www.cnblogs.com/lhppom/p/4857702.html里有提到关于Java的深克隆的学习,深浅区别就是在于仅复制对象引用和复制对象引用所指向的对象,最近在看< ...
- 深入理解计算机系统(2.8)---浮点数的舍入,Java中的舍入例子以及浮点数运算(重要)
前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算. 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题 ...
- java:正则移出html元素
package com.loongtao.general.crawler.slave; import java.util.regex.Matcher; import java.util.regex.P ...
- Java按正则提取字符串
在Java开发中,有时会遇到一些比较别扭的规则从字符串中提取子字符串,规则无疑是写正则表达式来表达了,那按照正则来提取子字符串就会用到java.util.regex包. java.util.regex ...
- Java处理文件小例子--获取全国所有城市的坐标
需求:前端展示数据,全国城市的坐标
随机推荐
- 第15.2节 PyCharm支持Python解释器的配置调整
上节介绍了PyCharm的安装与简单使用,本节介绍PyCharm相关的配置调整,以支持在PyCharm环境下集成Python解释器进行程序的编译. 一. 工程配置调整 在执行文件前,可能需要对PyCh ...
- windows cmd 链接远程mysql服务器
我要链接的mysql 所在ip:192.168.0.110 用户名:root 密码:123 那么: 打开cmd 输入: mysql -h192.168.0.110 -uroot -p123 即 ...
- 从零开始的ssti学习(已填)
前前言: 本文只是接这个机会来梳理一下ssti的知识点.先说一下,本文目前的重点是Flask的ssti,但是之后会填其他框架的坑.(就不该叫ssti学习,ssti太广了) 涉及知识点: 模板注入 前言 ...
- bugku login4
(前排提示:这次思路写的极不清晰,可能只有我自己看的懂,打个预防针QAQ) 首先看题: 扫描,拿到了 .index.php.swp 这个文件是可以复原的. 上面的是重要的源码.审计之后发现这是CBC加 ...
- Mysql LIMIT的用法
使用范围 MySQL语句中的limit字句可以帮助我们在使用执行查询的时候,返回数据库中间的数据或者是只提取前几段数据 使用语法 SELECT * FROM table LIMIT [offset,] ...
- js基本数据类型--null和undefined的区别
1. null类型 只有一个值null,逻辑上表示一个空对象的指针,如果要定义一个变量来保存对象,最好将该变量初始化为null,比如let a="",而不要let b这样,其实nu ...
- 冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?
写在前面 随着互联网的高速发展,企业中沉淀的数据也越来越多,这就对数据存储层的扩展性要求越来越高.当今互联网企业中,大部分企业使用的是MySQL来存储关系型数据.如何实现MySQL数据存储层的高度可扩 ...
- (已解决)'ng' 不是内部或外部命令,也不是可运行的程序或批处理文件
前言: 之前在安装Angular环境的时候有个问题,就是通过命令成功安装了angular cli脚手架工具,但是在终端(win+r cmd)中输入ng version一直提示的是'ng' 不是内部或外 ...
- ASP.NET Core 3.1使用 AutoMapper
多层架构中存在多种模型,如视图模型ViewModel,数据传输对你DTO,ORM对象等,这些数据在层与层之间进行传输必须涉及类型之间的转换. AutoMapper是一个对象-对象映射器,作用是通过设置 ...
- wuter 使用了腾讯云Ubuntu系统,但是没有root权限怎么办?
友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...