正则基础
转载请标明出处
正则表达式(java精编教程)
一:常用的元字符及其意义
元字符 |
在正则表达式中的写法 |
意义 |
. |
. |
代表任何一个字符 |
\d |
\\d |
代表0-9的任何一个数 |
\D |
\\D |
代表任何一个非数字字符 |
\s |
\\s |
代表空格类字符,’\t’、’\n’、’\x0B’、’\f’、’\r’ |
\S |
\\S |
代表非空格类字符 |
\w |
\\w |
代表可用于标识符的字符(不包括美元符号) |
\W |
\\W |
代表不能用于标识符的字符 |
\p{Lower} |
\\p{Lower} |
小写字母[a-z] |
\p{Upper} |
\\{Upper} |
大写字母[A-Z] |
\p{ASCII} |
\\p{ASCII} |
ASCII码 |
\p{Alpha} |
\\p{Alpha} |
字母 |
\p{Digit} |
\\p{Digit} |
数字字符,即[0-9] |
\p{Alnum} |
\\p{Alnum} |
字母或是数字 |
\p{Punct} |
\\p{Punct} |
标点符号:! ” # $ % & ‘ ( ) * + , - ./ : ;< = > ? @ [ \ ] ^ _ ` { | } ~ |
\p{Graph} |
\\p{Graph} |
可视字符:\p{Alnum}\p{Punct} |
\p{Print} |
\\p{Print} |
可打印字符:\p{Graph} |
\p{Blank} |
\\p{Blank} |
空格或制表符[\t] |
\p{Cntrl} |
\\p{Cntrl} |
控制字符:[\x00-\x1F\x7F] |
二:方括号元字符的意义
[abc] :代表a,b,c中的任何一个
[^abc] :代表除了a,b,c中的任何一个
[a-zA-Z] :代表英文字母中的任意一个
[a-d] :代表a-d中的任意一个字符
[a-d[m-p]] :代表a-d或m-f中的任何字符(并)
[a-z&&[def]] :代表d,e, f中的任何一个(交)
[a-f&&[^bc]] :代表a,d,e,f(差)
三:限定修饰符
X? X出现0次或1次
X* X出现0次或多次
X+ X出现1次或多次
X{n} X出现n次
X{n,} X至少出现n次
X{n,m} X出现n-m次
XY X后跟Y
X|Y X或Y
正则表达式的实例:
1.
String regex = “[159]ABC”;
那么 “1ABC” “5ABC” “9ABC”都是正则表达式匹配的字符
2.
String regex = “[a-zA-Z]+”;
那么匹配的是英文字母