用一个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)来提取。

最新文章

  1. java学习笔记之正则表达式
  2. Hdu 1052 Tian Ji -- The Horse Racing
  3. 15.8.6 AUTO_INCREMENT Handling in InnoDB
  4. mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
  5. VPS -Digital Ocean -初试以及VPN的搭建
  6. JS --正则表达式验证、实战之邮箱模式
  7. JAVA-封装
  8. 学习面试题(day01)
  9. 构建轻量级的Table View注意事项[UIKit]
  10. [Kafka] - Kafka 安装介绍
  11. Tomcat NIO
  12. Spring源码学习
  13. jsp内置对象-response对象
  14. 在线图标制作,格式转换 ICON
  15. MongoDB导入导出以及数据库备份以及.dat数据
  16. thymeleaf标签使用方法总结
  17. %08lx
  18. mongodb 学习1
  19. RabbitMQ安装详解(centos6.8)(转自:http://www.cnblogs.com/zhen-rh/p/6862350.html)
  20. 51Nod:1085 背包问题

热门文章

  1. mysql跨服务器查询
  2. Android5 Zygote 与 SystemServer 启动流程分析
  3. scramble-string——两个字符串经过树化并旋转后是否一致、递归、动态规划
  4. poj 2479 Maximum sum(递推)
  5. Mongo-Hadoop
  6. 导出txt格式的说明书
  7. VueJS构造器:new Vue({})
  8. cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
  9. OpenCV视频读取播放,视频转换为图片
  10. leetCode 95.Unique Binary Search Trees II (唯一二叉搜索树) 解题思路和方法