转义符的总结:
//string str = @"c:windows estb.txt";
//string regstr = ".+\\(.+)";
//string str1 = "<img src="key.txt"/>";
//string regstr = "<img src="(.+)"/>";
//string str = "我的生日是05/21/2010耶";
//string regstr = "\d+/\d+\d+";
第一组里面的路径中的 既是正则的里的转义符,又是C#里面的转义符,所以要转移两次,所以用1*2*2个 来表示 一个
第二组里的双引号只是C#里的正则,所以只用转义一次
第三组里面的 只是是正则里面的转义符,所以要转义一次
………………………………………………………….
.NET 中的正则表达式(Regex类的方法):
1)Regex.IsMatch 是否匹配
string str = "1234";
bool result = Regex.IsMatch(str,"[0-9]{4}");
………………………………………………………….
2 ) Regex.Match 提取单个字符串
string str = "1k2j3h2123jhb23";
string str2 = (Regex.Match(str,"[0-9]+")).ToString();
2.1) 单个字符串中的组提取(group)
string str = "1k2j3h2123jhb23";
Match match = Regex.Match(str, "([0-9]+)(.+)");
string str1=match.Groups[1].Value;
string str2 = match.Groups[2].Value;
数组提取的序号
从左向右只数左括号,从1开始数
………………………………………………………….
3 )Regex.matches() 提取所有符合要求的字符串
string str=@"绩大于80,则奖励50元.语文成绩等于100并且音乐成绩大于70,则奖励100元";
MatchCollection matches = Regex.Matches(str, "[0-9]+"); //用 MatchCollection 类型的变量存储匹配到的字符
foreach (Match mc in matches) //遍历输出得到的字符串
{
Console.WriteLine(mc.Value);
}
Console.ReadKey();
………………………………………………………….
4)Regex.Replace 替换字符串 有两种替换方式
方式1:
str = Regex.Replace(str, "aa+", "");
方式2:
string bir = "我的生日是05/21/2010耶";
string result = Regex.Replace(bir,@"(d{2})/(d{2})/(d{4})","$3-$1-$2");
………………………………………………………….
5)Regex.Split 分割:
string str1="jfgdjgkhgkeydijf;ldfjgldfkey";
string[] strArr = Regex.Split(str1, "key.");
for (int i = 0; i < strArr.Length; i++)
{
Console.WriteLine(strArr[i]);
}
Console.ReadKey();