正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多 个字符串
1.特殊符号元字符
|
元字符 |
描述 |
1 |
@符号 |
正则表达式字符串前面加上@字符,这样不让编译器去解析其中的转义字符 |
2 |
*符号 |
*代表0-多个字符 |
3 |
\符号 |
\是转义字符. *是元字符,如果要表示一个\ . 字符的话,需要使用\\ \. \ |
4 |
| |
将两个匹配条件进行逻辑“或”(Or)运算。 |
5 |
( ) |
用小括号来指定子表达式(也叫做分组) |
2.定位元字符
|
元字符 |
描述 |
1 |
\b |
匹配单词的开始或结束 |
2 |
\B |
匹配非单词的开始或结束 |
3 |
^ |
匹配必须出现在字符串的开头或行的开头 |
4 |
$ |
匹配必须出现在以下位置:字符串结尾、字符串结尾处的\n之前或行的结尾。 |
5 |
\A |
指定匹配必须出现在字符串的开头(忽略Multiline选项)。 |
6 |
\Z |
指定匹配必须出现在字符串的结尾(忽略Multiline选项)。 |
7 |
\z |
指定匹配必须出现在字符串的结尾或字符串结尾处的\n之前(忽略Multiline选项)。 |
8 |
\G |
定匹配必须出现在上一个匹配结束的地方。与Match.NextMatch()一起使用时,此断言确保所有匹配都 是连续的。 |
3.基本语法元字符
|
元字符 |
描述 |
1 |
. |
匹配除换行符以外的任意字符 |
2 |
\w |
匹配字母、数字、下划线、汉字(指大小写字母、0-9的数字、下划线_) |
3 |
\W |
\w的补集(除“大小写字母、0-9的数字、下划线_”之外) |
4 |
\s |
匹配任意空白符 (包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f) |
5 |
\S |
\s的补集 (除\s定义的字符之外) |
6 |
\d |
匹配数字(0-9数字) |
7 |
\D |
表示\d的补集(除0-9数字之外) |
4.反义字符
|
元字符 |
描述 |
1 |
[ab] |
匹配中括号中的字符 |
2 |
[a-c] |
a字符到c字符之间是字符 |
3 |
[^x] |
匹配除了x以外的任意字符 |
4 |
[^adwz] |
匹配除了adwz这几个字符以外的任意字符 |
5.重复描述字符
|
元字符 |
描述 |
1 |
{n} |
匹配前面的字符n次 |
2 |
{n,} |
匹配前面的字符n次或多于n次 |
3 |
{n,m} |
匹配前面的字符n到m次 |
4 |
? |
重复零次或一次 |
5 |
+ |
重复一次或更多次 |
6 |
* |
重复零次或更多次 |