元字符解释:
. 表示除了\n以为的任意一个字符
如: 正则表达式:“a.b”可以匹配的由aab,adb,a.b…等,要求ab之间有一个字符
[] 表示字符筛选
如:正则表达式:”a[0123456789]b”表示a0b,a1b…即ab之间存在一个数字符号。”a[0123456789]b” 等价于”a[0-9]”
“a[^0-9]”表示a和b之间存在一个非数字符号,即除了0到9以为可以是任意的一个字符
| 表示或
如:正则表达式:”a|bood” 表示匹配a 或者 bood,
正则表达式:”(a|b)ood” 表示匹配aood 或 bood
() 表示改变运算的优先级,以及提取组
如一个表达式中括号分布如下“()(()())()”从做往右遇到左半括号组号加1,初始从1开始。即把上边字符串中的(替换成组号:”1)23)4))5)”,用¥1,¥2…表示,用于Regex.Replace(str,正则表达式,”分组”)
接着是 * 限定符,表示前边的表达式出现0次或多次
如 “a*” 表示匹配0个或多个连在一起的由a组成的字符串
如”a.*b” 表示a和b直接出现0到多个出\n之外的字符,如addkskb,ab,ac939ddb等
+表示前边的表达式出现一次或多次,即至少出现一次
?限定符表示前边的表达式出现0次或1次,如果用在*或者+后边表示终止贪婪模式
其它限定符
{n}表示前边的表达式出现n次
如”a{5}b”表示匹配aaaaab
{n,}表示前边的表达式至少出现n次
“a{5,}b”表示匹配aaaaaab, aaaaaaaaaab,aaaaab即至少5个a一个b
{n,m}表示前边的表达式至少出现n次,最多m次
接着是^表示字符串的开头的特征,&表示字符串的结尾的特征
如:”^aaaa.*” 表示以aaaa开头的内容
如:”[0-9]+data&”表示匹配以data结尾,前边由1到多个由数字组成的字符串
\d 等价[0-9]
\D等价[^0-9]
\s表示任意的不可见字符 如空格、tab等
\S表示除了\s意外的任意字符
\w 等价于[0-9a-zA-Z]
\W表示除了\w意外的任意字符
如表示任意的单个字符出现在ab之间
a[\d\D]b
a[\w\W]b
a[\s\S]b