• 正则表达说明—Pattern API


    字符类

      [abc]                              匹配a、b、c任意一个字符

      [^abc]          匹配除了a、b、c外的任意一个字符

      [a-zA-Z]          匹配a-z或A-Z中的任意一个字符

      [a-d[m-p]]         匹配a-d或m-p中的任意一个字符,取交集,等价于[a-dm-p]

      [a-z&&[def]]        匹配d、e、f中任意一个字符

      [a-z&&[^bc]]       匹配a-z中除了b、c外的任意一个字符,等价于[ad-z]

      [a-z&&[^m-p]]       匹配a-z中除了m-p范围内的任意一个字符,等价于[a-lq-z]

    预定义的字符类

      .                        匹配除了换行符以外的任意字符

      d      匹配数字,等价于[0-9]

      D        匹配任意非数字的字符

      h                      匹配水平空白字符(比如 )

      H        匹配非水平空白字符[^h]

      s           匹配任意空白符

      S           匹配任意不是空白符的字符

      v           匹配垂直空白字符(比如 )

      V          匹配非垂直空白字符[^v]

      w          匹配字母或数字或下划线,等价于[a-zA-Z_0-9]

      W         匹配任意不是字母、数字、下划线、汉字的字符,等价于[^a-zA-Z_0-9]


    边界匹配器

      ^        匹配字符串的开始

      $        匹配字符串的结束

             匹配单词的开始或结束

      B         匹配不是以单词开头或结束的位置

      G      前一个匹配的结束

      []       显示限制条件中的任意一个字符


    显示次数

      *         重复零次或更多次

      ?        重复零次或一次

      +        重复一次或更多次  

      {n}        重复N次

      {n,}         重复N到多次

      {n,m}      重复N到M次

    示例

      ◆ ^为限制开头

        ^java    条件限制为以Java为开头字符

      ◆ $为限制结尾

        java$    条件限制为以java为结尾字符

      ◆ . 条件限制除/n以外任意一个单独字符

        java..    条件限制为java后除换行外任意两个字符

      ◆ 在限制条件为特定字符出现0次以上时,可以使用「*」

        J*       0个以上J

        .*      0个以上任意字符

        J.*D    J与D之间0个以上任意字符

      ◆ 在限制条件为特定字符出现1次以上时,可以使用「+」

        J+     1个以上J

        .+      1个以上任意字符

        J.+D    J与D之间1个以上任意字符

      ◆ 在限制条件为特定字符出现有0或1次以上时,可以使用「?」

        JA?    J或者JA出现

      ◆ 限制为连续出现指定次数字符「{a}」

        J{2}    JJ

        J{3}    JJJ

      ◆ 文字a个以上,并且「{a,}」

        J{3,}     JJJ,JJJJ,JJJJJ,???(3次以上J并存)

      ◆ 文字个以上,b个以下「{a,b}」

        J{3,5}   JJJ或JJJJ或JJJJJ

      ◆ 两者取一「|」

        J|A       J或A

        Java|Hello   Java或Hello

      ◆ 「()」中规定一个组合类型

        查询<a href=/"index.html/">index</a>中<a href></a>间的数据,可写作<a.*href=/".*/">(.+?)</a>

    Demo

    方法一:

    1     String rex = "[a-z[d-m]]"; 
    2     Pattern p = Pattern.compile(rex);  
    3     Matcher matcher = p.matcher("f");  
    4     boolean matches = matcher.matches();

    方法二:

    1     String rex = "[a-z[d-m]]";     
    2     boolean matche = Pattern.matches(rex, "d");

    PS:

    Pattern API(Java Platform SE 8)网址:https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html

     

     

  • 相关阅读:
    负环判断模版
    计蒜客NOIP2017提高组模拟赛(四)day1
    NOIP2014-10-30模拟赛
    树链剖分模版
    2014-10-30NOIP复习题1
    NOIP2014-5-17模拟赛
    NOIP2014-5-10模拟赛
    NOIP2014-3-15模拟赛
    HDU1556Color the ball
    HDU1166敌兵布阵
  • 原文地址:https://www.cnblogs.com/JealousGirl/p/pattern.html
Copyright © 2020-2023  润新知