zoukankan      html  css  js  c++  java
  • 正式表达式

    2019-09-11

    受别人例子的影响,以为group就是匹配所有满足条件的子串

    if (m.find( )) {
      System.out.println("####" +  m.groupCount());
       for(int i=0;i<m.groupCount();i++) {
         System.out.println( m.group(i+1));
       }
    } else {
      System.out.println("NO MATCH");
    }

    后来才知道,group对应你的正则ge表达式里面有几个(),因为我一直只用了一个,所以返回的groupCount一直为1。所以新的写法是

    while(m.find( )) {
        System.out.println("---------");
        System.out.println( m.group(1));
    }

    还有,我的源串里面因为是多行的,所以在匹配的时候,一旦跨行就匹配不上了(正则表达式是"<script>(.*?)</script>"),2种解决办法,一种是把源串

    replace("
    ", "")

    第二种是:加一个flag标识,把点号也可以替换换行符

    Pattern p = Pattern.compile("<script>(.*?)</script>", Pattern.DOTALL);
  • 相关阅读:
    《java技术》第三次作业
    《Java技术》第二次作业
    《java技术》第一次作业
    java3
    java2
    java1
    开闭原则
    迪米特原则
    接口隔离原则
    里氏替换原则
  • 原文地址:https://www.cnblogs.com/angelshelter/p/11506246.html
Copyright © 2011-2022 走看看