正则表达式
检测字符串 识别字符串 替换,判断
(1)字符类
[ char_group]:匹配字符组中的任意一个字符
[^char_group]:匹配除字符组之外的任意一个字符
[first,last]:匹配从first到last的字符范围中的任意一个字符,字符范围包括first和last。
.一个点:通配符,匹配除\n之外的任意一个字符
\w:匹配任意一个单词(word)字符,单词字符通常是指A-Z、a-z和0-9
\W:匹配任意一个非单词字符,是指除A-Z、a-z和0-9之外的字符
\s:匹配任意一个空白字符
\S:匹配任意一个非空白字符
\d:匹配任意一个数字字符
\D:匹配任意一个非数字字符
(2)定位类
^:默认情况下,匹配字符串的开始位置;在多行模式下,匹配每行的开始位置;
$:默认情况下,匹配字符串的结束位置,或 字符串结尾的\n之前的位置;在多行模式下,匹配每行结束之前的位置,或者每行结尾的\n之前的位置。
\A:匹配字符串的开始位置;
\Z:匹配字符串的结束位置,或 字符串结尾的\n之前的位置;
\z:匹配字符串的结束位置;
\G:匹配上一个匹配结束的位置;
\b:匹配一个单词的开始或结束的位置;
\B:匹配一个单词的中间位置;
(3)量词
*:规定前面字符出现0次或多次
+:出现1次或多次
?:出现0次或1次
{n}:出现n次
{n,}:出现至少n次
{n,m}:出现n到m次
x|y x或者y中的一个字符
2.Regex.Replace()方法替换匹配出来的字符串
//替换 匹配到所有的子串进行替换成对应的字符串,返回一个新的字符串
string str = "123423";
string newString= Regex.Replace(str, "^1", "哈啊哈哈");//待匹配的字符串,正则,替换符合正则的字符串
Console.WriteLine(newString);//哈啊哈哈23423
3.Regex.IsMatch(字符串,正则表达式)判断字符串是否符合正则表达式
string number = Convert.ToString(Console.ReadLine());
string pattern = @"^[1-9][1-9]{4,10}@qq\.com$";
Console.WriteLine(Regex.IsMatch(number,pattern));//结果为布尔值
4.Regex.Match(s,pattern)匹配第一个满足的字符串
string str = "123423.com";
Match match= Regex.Match(str,"1");//找出满足条件的第一个子串
Console.WriteLine(match);//1
//Regex.Matches(s,pattern)匹配所有满足的字符串并返回出来
MatchCollection matchCol = Regex.Matches(str,"[a-z]");
foreach (Match i in matchCol)
{
Console.Write(i);//com
}