元字符:
|
字符 |
说明 |
|
^ |
匹配行的开始位置 |
|
$ |
匹配行的结束位置 |
|
\b |
匹配单词的开始或结束位置 |
|
. |
匹配除换行符号之外的任意字符 |
|
\w |
匹配单词字符(包括字母、数字、下划线和汉字) |
|
\W |
匹配任意的非单词字符(包括字母、数字、下划线和汉字) |
|
\s |
匹配任意的空白字符,如空格、制表符、换行符等 |
|
\S |
匹配非空白字符 |
|
\d |
匹配任意的数字 |
|
\D |
匹配非任意的数字 |
常用字符集:
|
字符 |
说明 |
|
. |
匹配除换行符号之外的任意字符 |
|
\w |
匹配单词字符(包括字母、数字、下划线和汉字) |
|
\W |
匹配任意的非单词字符(包括字母、数字、下划线和汉字) |
|
\s |
匹配任意的空白字符,如空格、制表符、换行符等 |
|
\S |
匹配非空白字符 |
|
\d |
匹配任意的数字 |
|
\D |
匹配非任意的数字 |
|
[abcd] |
匹配字符集合中的任何字符 |
|
[^abcd] |
匹配字符集合之外的任何字符 |
|
[0-9a-zA-Z] |
匹配任何数字、字母(大写和小写字母)和下划线,等同于 \w |
|
[^0-9a-zA-Z] |
匹配除数字、字母(大写和小写字母)和下划线,等同于 \W |
|
\p{name} |
匹配{name}指定的命名字符类中的任何字符 |
|
\P{name} |
匹配{name}指定的命名字符类外的任何字符 |
常用转义字符:
|
字符 |
说明 |
|
\a |
响铃警报\u0007 |
|
\b |
在正则表达式中,表示单词的边界;如果在字符类中,则表示退格符\u0008 |
|
\t |
制表符\u0009 |
|
\r |
回车符\u000D |
|
\v |
垂直制表符\u000B |
|
\f |
换页符\u000C |
|
\n |
换行符\u000A |
|
\e |
回退符\u001B |
|
\040 |
将ASCII字符匹配为8进制数 |
|
\x20 |
使用十六进制表示形式与ASCII字符匹配 |
|
\cC |
ASCII控制字符,如Ctrl+C |
|
\u0020 |
使用十六进制表示形式与Unicode字符匹配 |
常用限定字符:
|
字符 |
说明 |
|
{n} |
重复n次 |
|
{n,} |
重复至少n次 |
|
{n,m} |
重复至少n次,最多m次 |
|
* |
重复至少0次,等同于{0,} |
|
+ |
重复至少1次,等同于{1,} |
|
? |
重复0次或1次,等同于{0,1} |
|
*? |
尽可能少的使用重复的第一个匹配符 |
|
+? |
尽可能少地使用重复但至少使用一次 |
|
?? |
使用0次重复或一次重复 |
|
{n}? |
等同于{n} |
|
{n,}? |
尽可能地使用重复但至少使用n次 |
|
{n,m}? |
介于n次和m次之间、尽可能少地使用重复 |
替换字符:|
例子:国内部分地区的三种固定电话号码
0\d{2}-\d{8}|0\d{3}-\d{7}|0\d{3}-\d{8}
分组字符:( )
例子:匹配简单的IP地址
(\d{1,3}\.){3}\d{1,3}
浙公网安备 33010602011771号