用一个main程序展示下

public static void main(String[] args){
       String text = "SSM<br>LOC<br>WUH 222046<br>CNL<br>CZ2834<br>23FEB16 23FEB16 2<br>CANWUH<br>RMK:NO PROT<br>=";
       text = text.replaceAll("<br>", "_");
       String singleLegFlightRegex = "^SSM[\\w\\s]+(CZ[0-9]{3,4}[a-zA-Z\\s]?)_(\\w{7}\\s\\w{7}\\s[1-7]{1})[_\\w\\s\\.\\(\\)]+([A-Z\\s]{6,7})";

//核心代码,匹配与查找
       Pattern pattern = Pattern.compile(singleLegFlightRegex);
       Matcher matcher = pattern.matcher(text);
       if(matcher.find()){
             System.out.println(String.format("%6s,%16s,%s", matcher.group(1),matcher.group(2),matcher.group(3)));
       }
}

输出的结果:CZ2834,23FEB16 23FEB16 2,CANWUH

简单说明下,  matcher.find() 会依次定位到符合regex的所有片段。 matcher.group(int i)这个对应整个片段中你的regex的子pattern, 1代表第一个(pattern),

在上述的例子中就是指(CZ[0-9]{3,4}[a-zA-Z\\s]?),依次类推。 0是整个匹配到的片段。

因此用来在一段文本中提取信息。定义一个类似regex=".*(pattern1).*(pattern2).*",匹配之后利用matcher.group(i)来提取。

java Regex匹配及解析文本的更多相关文章

  1. Java解析文本

    import java.io.*; import java.util.*; public class FileManager { public List<Dishes> parseFile ...

  2. java 正则表达式提取html纯文本

    本文来自我的个人博客: java 正则表达式提取html纯文本 做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题.现将我做的正则匹配贴上: import java.util.regex ...

  3. java正则API简单解析

    java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...

  4. Java正则表达式匹配例子

    Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

  5. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

  6. java微信开发API解析(二)-获取消息和回复消息

    java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/20 ...

  7. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  8. Java调用SqlLoader将大文本导入数据库

    Java调用SqlLoader将大文本导入数据库 业务场景:将一千万条数据,大约500M的文本文档的数据导入到数据库 分析:通过Java的IO流解析txt文本文档,拼接动态sql实现insert入库, ...

  9. Java Properties集合基础解析

    Java Properties集合基础解析 本期学习的properties集合是项目中经常用到的操作 什么是Properties集合? java.util.Properties集合继承于Hashtab ...

随机推荐

  1. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  2. PHP 变量定义及使用

    php的变量前面必须有$符号,而且是解释型的弱类型语言,定义的时候不需要定义变量值的类型. $str="这是个变量"; 1.输出的时候可以用拼接字符串的方法 如:echo" ...

  3. 客户推广微信小程序的几种方法如下

    一.店面二维码推广 1.店铺门口张贴 2.餐桌.柜台张贴 3.展架.海报宣传展示 二.结合促销活动,宣传单页上印小程序二维码线下派发 三.餐厅送餐时附带点餐小卡片,印小程序二维码 四.首次扫码立送积分 ...

  4. vue2.0 仿手机新闻站(二)项目结构搭建 及 路由配置

    1.项目结构 $ vue init webpack-simple news $ npm install vuex vue-router axios style-loader css-loader -D ...

  5. 查看本机外网ip地址

    DOS下是无法查看外网IP的,只能获取本机内网IP地址   外网IP只能通过专门的测IP网站 http://www.ip138.com/ip2city.asp

  6. 硬件问题大杂烩&Coffee lake框图

    PCB阻抗控制 https://www.cnblogs.com/lifan3a/articles/6095372.html 1.高速差分信号串联AC耦合电容什么请况下要做镂空处理: (1)为了阻抗匹配 ...

  7. 【Java项目实战】——DRP之HTML总结

    在DRP的学习之中,又将之前BS的内容又一次复习了一遍,借着复习的机会将BS的各个部分再又一次总结一下.今天来总结一下HTML. 在学习BS之后就进入了权限系统的开发之中,可是仍然发现非常多代码不会不 ...

  8. Xenomai 3 POSIX

    Xenomai 3在架构设计上确实优先Xenomai 2,至少对开发者来说,少维护了不少东西,看下面两张图就知道了 第一张图是Xenomai2的,第二张图是Xenomai3的,Xenomai3在内核中 ...

  9. linux下proc里关于磁盘性能的参数(转)

    我们在磁盘写操作持续繁忙的服务器上曾经碰到一个特殊的性能问题.每隔 30 秒,服务器就会遇到磁盘写活动高峰,导致请求处理延迟非常大(超过3秒).后来上网查了一下资料,通过调整内核参数,将写活动的高峰分 ...

  10. RPMBUILD源码打包资源汇总(转)

    http://mattshma.github.io/2015/11/04/rpm%E6%89%93%E5%8C%85/ http://400053.blog.51cto.com/390053/7210 ...