zoukankan      html  css  js  c++  java
  • java Regex匹配及解析文本

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

  • 相关阅读:
    9、搜索 :ion-searchbar
    8、列表:ion-list
    uwp 的work project 的 取消闹钟
    long ? 的使用和理解
    uwp 中的音频开发
    uwp 之语音朗读
    uwp 语音指令
    C# 泛型(Generic)
    C# 排序列表(SortedList)
    C# 反射(Reflection)
  • 原文地址:https://www.cnblogs.com/surprizeFuture/p/5221055.html
Copyright © 2011-2022 走看看