命名空间:
System.Text.RegularExpressions
初始化Regex类
Regex regex = new Regex(正则表达式,RegexOptions.IgnoreCase | RegexOptions.Multiline);
IgnoreCase在匹配时忽略大小写,Multiline调整^和$的意义,改为匹配一行的开头和结尾。
Match()和Matches()方法:
Match()匹配一个结果;Matches()匹配多个结果
例:从一段字符串中提取一行连续数字
Regex regex = new Regex(@"/d+");
Match m = regex.Match("bei2008jing@163.com");
Console.WriteLine(m.Value.ToString());
输出结果:
2008
从一段字符串中提取所有数字
Regex regex = new Regex(@"/d+");
MatchCollection ms = regex.Matches("bei2008jing@163.com");
foreach(Match m in ms)
{
Console.WriteLine(m.Value.ToString());
}
输出结果
2008
163
Split()函数:
单字符分割
string str = "11123332444";
string[] array = str.Split('2');
foreach(string s in array)
{
Console.WriteLine(s);
}
输出结果:
111
333
444
多字符串分割:
1.string str = "11122223332222444";
string[] arrray = str.Split(new char[4]{'2','2','2','2'});
foreach(string s in array)
{
Console.WriteLine(s);
}
输出结果:
111
333
444
2.string str = "11122223332222444";
string[] array = Regex.Split(str,"2222",RegexOption.IgnoreCase);
//Regex regex = new Regex("2222");
//string[] array = regex.Split(str);
foreach(string s in array)
{
Console.WriteLine(s);
}
输出结果:
111
333
444
批量字符串替换:
string str = "11122223332222444";
//Regex regex = new Regex("2222");
//str = regex.Replace(str, "a");
str = Regex.Replace(str, "2222", "a");
Console.WriteLine(str);
Console.ReadLine();