元字符:
字符 |
说明 |
^ |
匹配行的开始位置 |
$ |
匹配行的结束位置 |
\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}