一:元字符:
.:可以匹配任意单个任意字符
*:匹配前面的子表达式0个或者多个
+:匹配前面的子表达式1次或多次
?:匹配前面的子表达式0次或1次
{n}:匹配前面的子表达式出现n次
{n,m}:匹配前面的子表达式最少出现n次,最多出现m次
{n,}:匹配前面的子表达式最少出现n次,最多没有限制
二:元字符限制范围:
[,]:具体的几个值 [@] [.]
[0-9]:0 1 2 3 4 5 6 7 8 9 ;
[a-zA-Z0-9]:A~Z a~z 0~9全部的范围中的任意“一个”字符: \w _
|:或者 ,只要满足其中一个条件就匹配
Console.WriteLine(Regex.IsMatch(str, @"z|food"));只要包含z或者food就匹配
Console.WriteLine(Regex.IsMatch(str, @"^z|food$"));必须以z开头,或者以food结尾才匹配。
():提高优先级
Console.WriteLine(Regex.IsMatch(str, @"^(z|f)ood$"));zood/food
^:排除在某一个范围或者值之外
^/$:开始和结束
三:元字符的简写表达式:
转义字符:
\d:代表单个数字 【0-9】\d{3}
\D:代表单个非数字
\s:换行 ,制表符,确认,空格
\S:你能看到的都算
\w:匹配字母或数字或下划线或汉字,即能组成单词的字符 [0-9 a-z A-Z _]
\W:特殊字符
四:字符串提取
1.先创建好符合规则的正则表达式
2.将部分用()包含
3.书写如下的代码:如
1 string str = "192.168.10.5[port=21,type=ftp]"; 2 3 Match macth = Regex.Match(str, @"^(.+)[[].+=(\d{2}),.+=(.+)[]]$"); 4 5 if (macth.Success) 6 7 { 8 9 Console.WriteLine(macth.Groups[1]); 10 11 Console.WriteLine(macth.Groups[2]); 12 13 Console.WriteLine(macth.Groups[2]); 14 15 }