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   }
  • 相关阅读:
    PHP使用http_build_query()构造URL字符串的方法
    php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组
    资金管理
    偏爱粉色,我的儿子会不会娘娘腔?
    中文期刊有哪些?
    超声胎儿图像分割
    加州wonders教材扫盲
    美国小学1-5年级教学大纲
    A股回归牛市?
    深入研究股票涨停
  • 原文地址:https://www.cnblogs.com/loritin/p/2723238.html
Copyright © 2011-2022 走看看