• Java SE之正则表达式六:匹配规则


    注释:
    	1.[]表示的字符集,不表示包含
    	  ()表捕获和成组
    	  Eg:
    	  	只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一
    	  	(qq|gmail|163){1}.com 与  [(qq)|(gmail)|(163)].com;后者错误。
    
    构造	匹配
     
    字符
    x	字符 x
    \	反斜线字符
    n	带有八进制值 0 的字符 n (0 <= n <= 7)
    nn	带有八进制值 0 的字符 nn (0 <= n <= 7)
    mnn	带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
    xhh	带有十六进制值 0x 的字符 hh
    uhhhh	带有十六进制值 0x 的字符 hhhh
    		制表符 ('u0009')
    
    	新行(换行)符 ('u000A')
    
    	回车符 ('u000D')
    f	换页符 ('u000C')
    a	报警 (bell) 符 ('u0007')
    e	转义符 ('u001B')
    cx	对应于 x 的控制符
     
    字符类
    [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	非数字: [^0-9]
    s	空白字符:[ 	
    x0Bf
    ]
    S	非空白字符:[^s]
    w	单词字符:[a-zA-Z_0-9]
    W	非单词字符:[^w]
     
    POSIX 字符类(仅 US-ASCII)
    p{Lower}	小写字母字符:[a-z]
    p{Upper}	大写字母字符:[A-Z]
    p{ASCII}	所有 ASCII:[x00-x7F]
    p{Alpha}	字母字符:[p{Lower}p{Upper}]
    p{Digit}	十进制数字:[0-9]
    p{Alnum}	字母数字字符:[p{Alpha}p{Digit}]
    p{Punct}	标点符号:!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
    p{Graph}	可见字符:[p{Alnum}p{Punct}]
    p{Print}	可打印字符:[p{Graph}x20]
    p{Blank}	空格或制表符:[ 	]
    p{Cntrl}	控制字符:[x00-x1Fx7F]
    p{XDigit}	十六进制数字:[0-9a-fA-F]
    p{Space}	空白字符:[ 	
    x0Bf
    ]
     
    java.lang.Character 类(简单的 java 字符类型)
    p{javaLowerCase}	等效于 java.lang.Character.isLowerCase()
    p{javaUpperCase}	等效于 java.lang.Character.isUpperCase()
    p{javaWhitespace}	等效于 java.lang.Character.isWhitespace()
    p{javaMirrored}	等效于 java.lang.Character.isMirrored()
     
    Unicode 块和类别的类
    p{InGreek}	Greek 块(简单块)中的字符
    p{Lu}	大写字母(简单类别)
    p{Sc}	货币符号
    P{InGreek}	所有字符,Greek 块中的除外(否定)
    [p{L}&&[^p{Lu}]] 	所有字母,大写字母除外(减去)
     
    边界匹配器
    ^	行的开头
    $	行的结尾
    	单词边界
    B	非单词边界
    A	输入的开头
    G	上一个匹配的结尾
    	输入的结尾,仅用于最后的结束符(如果有的话)
    z	输入的结尾
     
    Greedy 数量词
    X?	X,一次或一次也没有
    X*	X,零次或多次
    X+	X,一次或多次
    X{n}	X,恰好 n 次
    X{n,}	X,至少 n 次
    X{n,m}	X,至少 n 次,但是不超过 m 次
     
    Reluctant 数量词
    X??	X,一次或一次也没有
    X*?	X,零次或多次
    X+?	X,一次或多次
    X{n}?	X,恰好 n 次
    X{n,}?	X,至少 n 次
    X{n,m}?	X,至少 n 次,但是不超过 m 次
     
    Possessive 数量词
    X?+	X,一次或一次也没有
    X*+	X,零次或多次
    X++	X,一次或多次
    X{n}+	X,恰好 n 次
    X{n,}+	X,至少 n 次
    X{n,m}+	X,至少 n 次,但是不超过 m 次
     
    Logical 运算符
    XY	X 后跟 Y
    X|Y	X 或 Y
    (X)	X,作为捕获组
     
    Back 引用
    
    	任何匹配的 nth 捕获组
     
    引用
    	Nothing,但是引用以下字符
    Q	Nothing,但是引用所有字符,直到 E
    E	Nothing,但是结束从 Q 开始的引用
     
    特殊构造(非捕获)
    (?:X)	X,作为非捕获组
    (?idmsux-idmsux) 	Nothing,但是将匹配标志i d m s u x on - off
    (?idmsux-idmsux:X)  	X,作为带有给定标志 i d m s u x on - off
    (?=X)	X,通过零宽度的正 lookahead
    (?!X)	X,通过零宽度的负 lookahead
    (?<=X)	X,通过零宽度的正 lookbehind
    (?<!X)	X,通过零宽度的负 lookbehind
    (?>X)	X,作为独立的非捕获组
    

      

  • 相关阅读:
    按照两种模式排序用户列表
    WINDOWS系统属性符号说明
    一个无敌删除命令
    SQL判断某列中是否包含中文字符、英文字符、纯数字
    泰勒公式的发现以及证明
    陶哲轩实分析 引理7.1.4 证明
    多项式函数在某一点处的泰勒展开
    域上多项式的带余除法
    陶哲轩实分析 命题7.18 证明
    陶哲轩实分析 引理7.1.4 证明
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/8971437.html
Copyright © 2020-2023  润新知