//简单认识正则表达式的概念
Console.WriteLine("abc".StartsWith("a"));//验证字符串开头是否与指定 的字符串匹配(类似正则,但必须相同)
//打印结果:true
Console.WriteLine(Regex.IsMatch("abc","..."));//true、最简单的正则表达式
Console.WriteLine(Regex.IsMatch("ab1", "..."));//true
string str = "a9834963475ahg";//把数字替换为‘-’
Console.WriteLine(Regex.Replace(str, "\\d", "-"));//\d代表数字模式
Console.WriteLine(str.Replace("\\d", "-"));//string 类只能实现指定字符的替换,而不适用模式
Regex r = new Regex("aaa");//定义正则表达式r,并新建匹配项
Match m = r.Match("123aaa456");//匹配结果
if (m.Success)//判断匹配是否成功
{
Console.WriteLine(m.Index);
}
else
{
Console.WriteLine("未成功匹配");
}
//while (true)
//{
//string str1 = Console.ReadLine();
//Console.WriteLine(Regex.IsMatch(str1, "[a-z](4)"));//不明原因错误
//}
//初步认识正则表达式中的. * +
Console.WriteLine(Regex.Match("hdtdgfd", "a"));//匹配不成功,返回empty;成功匹配,返回匹配成功的字符
Console.WriteLine(Regex.Match("45352w", "."));//.通配符:与除 \n 之外的任何单个字符匹配。
Console.WriteLine(Regex.Match("aaaa", "a*"));//匹配上一个元素零次或多次。aaaa
Console.WriteLine(Regex.Match("aaaa", "a+"));//匹配上一个元素零次或多次。aaaa
Console.WriteLine(Regex.Match("aaaa", "a?"));//匹配前面的元素零次或一次。a
Console.WriteLine(Regex.Match("ran","rai?n"));//"rai? n"“ran”和“rain”
Console.WriteLine(Regex.Match("34a256a6345a6", "\\d{3,40}"));//{3,40}是匹配的字符数量,最少3个,最多40:结果256
//简单的ip输入验证匹配(bug超多,待完善)
Console.WriteLine(Regex.IsMatch("132.23.23.43", "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//true
Console.WriteLine(Regex.IsMatch("132.23.23.43a", "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//true
Console.WriteLine(Regex.IsMatch("132.24563.23.43", "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));//false
Console.WriteLine("范围");
//正则表达式中的范围
//[字符分组],与 character_group 中的任何单个字符匹配。 默认情况下,匹配区分大小写
Console.WriteLine(Regex.IsMatch("a","[abc]"));
//与不在 character_group 中的任何单个字符匹配。 默认情况下,character_group 中的字符区分大小写
Console.WriteLine(Regex.IsMatch("a","[^abc]"));
Console.WriteLine(Regex.IsMatch("a","[a-z]"));//a-z之间的字母
Console.WriteLine(Regex.IsMatch("A", "[a-z]"));//区分大小写
//认识\s \w \d \ \b(单词边界如空格等)
//Console.WriteLine(Regex.IsMatch("\\", "\\"));//错误:正在分析“\”- \ 在模式末尾非法。
Console.WriteLine(Regex.IsMatch("\\", "\\\\"));//true
//\w与任何单词字符匹配。 \w “ID A1.3”中的“I”、“D”、“A”、“1”和“3”
//\s与任何空白字符匹配。\w\s “ID A1.3”中的“D”
//Console.WriteLine(Regex.IsMatch("ID A1.3","\W"));错误:无法识别的转义字符
Console.WriteLine(Regex.IsMatch("ID A1.3",@"\w"));//true
//网络:有些转义字符如\w等转移字符只是正则表达式引擎认识的,C#编译器是不认识的。
//加上@符号,这个字符串就原样传递给了正则表达式引擎了
//空白行
Console.WriteLine(Regex.IsMatch(" \n","^[\\s]*\\n$"));//空白字符开头,换行符结束
//正则表达式匹配email地址 xxx@163.com
Console.WriteLine("邮箱");
//以不少于1个的单词字符或者下划线开始,@不少于1个单词字符,.不少于1个的单词字符结束
Console.WriteLine(Regex.IsMatch("--dfhdg@asdg.com", "^[\\w|-]+@[\\w]+\\.[\\w]+$")); |