zoukankan      html  css  js  c++  java
  • java正则表达式(三)

    三、括号、或匹配

    在正则表达式中,由于[]号只能做单个元素的匹配,这样会限制正则表达式的作用,如何做到多个元素的匹配呢?用()实现。

    ()可以进行多个元素的匹配,例如:t(a|e|i|o|oo)n,|在正则表达式中代表“或”的意思,即匹配的字符串只要满足()

    中任意一项元素的匹配,该正则表达式则返回true,见代码示例:

     1 public class RegExp {
     2     private Pattern patt;
     3     private Matcher matcher;
     4   /**
     5      * 括号、或匹配:想要匹配“toon”,可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。
     6      * 要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。
     7      * 不能使用方扩号,因为方括号只允许匹配单个字符;必须使用圆括号“()”。
     8      * @param regStr
     9      * @param regex
    10      * @return
    11      */
    12     public boolean bracketReg(String regStr,String regex){
    13         return this.commonRegExp(regStr, regex);
    14     }
    15   private boolean commonRegExp(String regStr,String regex){
    16         boolean wildcard_Res=false;
    17         patt=Pattern.compile(regex);
    18         matcher=patt.matcher(regStr);
    19         wildcard_Res= matcher.find();
    20         return wildcard_Res;
    21     }
    22 }
    1 public class TestRegExp {
    2     public static void main(String[] args) {
    3         RegExp re=new RegExp();
    4         boolean wildcard_Res=false;
    5      //括号、或匹配
    6         wildcard_Res=re.bracketReg("toon", "t(aoe|oo)n");
    7         System.out.println(wildcard_Res);
    8         //输出:wildcard_Res=true
    9 }

    注:在用()进行匹配时,凡是在()中有多个元素连续紧挨着出现时,必须这几个元素在匹配的字符串中也连续紧挨着出现,且

    不能出现多余的元素,否则匹配不会成功。见代码示例:

     1  public class RegExp {
     2       private Pattern patt;
     3       private Matcher matcher;
     4     /**
     5        * 括号、或匹配:想要匹配“toon”,可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。
     6        * 要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。
     7        * 不能使用方扩号,因为方括号只允许匹配单个字符;必须使用圆括号“()”。
     8        * @param regStr
     9        * @param regex
    10       * @return
    11    */
    12      public boolean bracketReg(String regStr,String regex){
    13          return this.commonRegExp(regStr, regex);
    14      }
    15     private boolean commonRegExp(String regStr,String regex){
    16          boolean wildcard_Res=false;
    17          patt=Pattern.compile(regex);
    18          matcher=patt.matcher(regStr);
    19          wildcard_Res= matcher.find();
    20          return wildcard_Res;
    21      }
    22  }
    23 
    24   public class TestRegExp {
    25       public static void main(String[] args) {
    26           RegExp re=new RegExp();
    27           boolean wildcard_Res=false;
    28       //括号、或匹配
    29           wildcard_Res=re.bracketReg("taoehn", "t(aoe|oo)n");
    30           System.out.println(wildcard_Res);
    31           //输出:wildcard_Res=false
    32   }
  • 相关阅读:
    swift MD5 加密方法
    swift 官方获取JSON 数据方法
    LOAD和PigStorage的一些测试例子 (转)
    pig的各种运行模式与运行方式详解
    Hadoop Mapreduce分区、分组、二次排序过程详解[转]
    hdfs 名称节点和数据节点
    MapReduce中的分区方法Partitioner
    hadoop中map和reduce的数量设置问题
    MapReduce工作原理图文详解
    GET请求的请求参数最大长度
  • 原文地址:https://www.cnblogs.com/loritin/p/2723238.html
Copyright © 2011-2022 走看看