正则表达式是由普通字符和元字符(特殊符号)组成的文字形式
应用场景
1.用于验证输入的邮箱是否合法。
2.用于验证输入的电话号码是否合法。
3.用于验证输入的身份证号码是否合法。等等
正则表达式常用的限定符总结:
几种常用的正则简写表达式总结:
如下图所示:
正则表达式的几个案例演示:
代码如下所示:
namespace Program_正则表达式练习
{
internal class Program
{
static void Main(string[] args)
{
//匹配IP地址,分割
//while (true)
//{
// Console.WriteLine("请输入一个IP地址");
// string input = Console.ReadLine();
// bool b = Regex.IsMatch(input, @"(\d{1,3}\.){3}\d{1,3}");
// Console.WriteLine(b);
// Console.ReadKey();
// Console.WriteLine("判断是否是合法的日期格式:");
// string input1 = Console.ReadLine();
// bool b1 = Regex.IsMatch(input1, "[0-8]{4}-[0][1-9]|[1][0-2]-[]");
//}
//1、从文件路径中提取出文件名(包含后缀) @“^.+\(.+)$”。比如从c:\windows\testb.txt中提取出testb.txt这个文件名出来。项目中用Path.GetFileName更好
string path = @"C:\Users\26352\Desktop\text.txt";
string name = Path.GetFileName(path);
Console.WriteLine(name);
//2.2、从“June 26 , 1951 ”中提取出月份June、26、1951提取出来。
string input = "June 26 ,1951 ";
MatchCollection mt = Regex.Matches(input, @"\w+");
foreach (Match m in mt)
{
Console.WriteLine(m.Value);
}
//3、从Email中提取出用户名和域名,比如从test@163.com中提取出test和163.com。
string input1 = "test@163.com";
Match mt1 = Regex.Match(input1,@"(.+)@(.+)");
if (mt1.Success)
{
Console.WriteLine(mt1.Groups[1].Value);
Console.WriteLine(mt1.Groups[2].Value);
}
//4.
string str = "192.168.10.5[port=21,type=ftp]";
Match m3 = Regex.Match(str, @"(.+)\[port=(.+),type=(.+)\]");
if(m3.Success)
{
Console.WriteLine(m3.Groups[1].Value);
Console.WriteLine(m3.Groups[2].Value);
Console.WriteLine(m3.Groups[3].Value);
}
Console.ReadKey();
}
}
}