正则表达式的构造摘要
来源:互联网 发布:知乎 团队协作工具 编辑:程序博客网 时间:2024/04/30 11:21
正则表达式的构造摘要
构造 | 匹配 | | 字符 | x字符 x//反斜线字符/0n带有八进制值 0 的字符 n (0 <= n <= 7)/0nn带有八进制值 0 的字符 nn (0 <= n <= 7)/0mnn带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)/xhh带有十六进制值 0x 的字符 hh/uhhhh带有十六进制值 0x 的字符 hhhh/t制表符 ('/u0009')/n新行(换行)符 ('/u000A')/r回车符 ('/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空白字符:[ /t/n/x0B/f/r]/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}空格或制表符:[ /t]/p{Cntrl}控制字符:[/x00-/x1F/x7F]/p{XDigit}十六进制数字:[0-9a-fA-F]/p{Space}空白字符:[ /t/n/x0B/f/r] | 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单词边界/B非单词边界/A输入的开头/G上一个匹配的结尾/Z输入的结尾,仅用于最后的结束符(如果有的话)/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 运算符 | XYX 后跟 YX|YX 或 Y(X)X,作为捕获组 | Back 引用 | /n任何匹配的 nth 捕获组 | 引用 | /Nothing,但是引用以下字符/QNothing,但是引用所有字符,直到 /E/ENothing,但是结束从 /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,作为独立的非捕获组