⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample47.cs

📁 C#函数手册
💻 CS
字号:
namespace apiBook
{
	using System;
	using System.Text;
	using System.Text.RegularExpressions;
	public class TestRegexClass
	{
		public static void Main()
		{
			TestRegexClass t=new TestRegexClass();
			Regex testRegex=new Regex("href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))");
			string s="href=\"//www.apibook.com/data/css/v11/r1.css\"";
			Console.WriteLine("s="+s);
			s=Regex.Escape(s);
			//使用Escape方法
			Console.WriteLine("执行Escape操作:"+s);
			t.PrintInfo(testRegex,s,"href");		
			Console.WriteLine("该Regex对象信息:");
			t.PrintGroupInfo(testRegex,';');
			Console.WriteLine("IsMatch="+testRegex.IsMatch(s,0));
			//使用IsMatch方法判断是否有匹配项
			testRegex=new Regex("time:\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b");
			s="time:02/01/2004";
			Console.WriteLine("s="+s);
			s=Regex.Escape(s);
			Console.WriteLine("执行Escape操作:"+s);
			t.PrintInfo(testRegex,s,"time");		
			Console.WriteLine("该Regex对象信息:");
			t.PrintGroupInfo(testRegex,';');
			testRegex=new Regex("(@)");
			s="lzsuccess@123.com";
			Console.WriteLine("s="+s);
			t.PrintInfo(testRegex,s,"@");
			string str="ABC@123@CAT";
			Console.WriteLine("使用显式的Split方法:");
			string[] sArray=testRegex.Split(str);
			//使用Split方法分割字符串成为数组
			t.PrintArray(sArray,',');
			sArray=Regex.Split(str,"@");
			Console.WriteLine("使用静态的Split方法:");		
			t.PrintArray(sArray,',');
			Console.WriteLine("s="+s);
			Console.WriteLine("Replace="+testRegex.Replace(s,"#",6,0));	
			s="ABC#QWE#@212";		
			Console.WriteLine("s="+s+";=>"+testRegex.Replace(s,"&",6,0));	
			//使用Replace方法替换该符号
			Console.ReadLine();
		}	
		public void PrintArray(string[] tmpArray,char sequarer)
		{
			for(int i=0;i<tmpArray.Length;i++)
			{
				Console.Write(tmpArray[i]+"  "+sequarer+"  ");
			}
			Console.WriteLine();
		}
		public void PrintInfo(Regex testR,string info,string title)
		{
			string s=info;
			Match testMatch;
			for (testMatch= testR.Match(s) ;testMatch.Success; testMatch =testMatch.NextMatch()) 
				//使用NextMatch方法和Match方法进行判断
			{
				Console.WriteLine("找到信息"+title + testMatch.Groups[1] + "在 " 
					+ testMatch.Groups[1].Index);
			}
		}
		public void PrintGroupInfo(Regex testR,char sequarer)
		{
			for(int i=0;i<testR.GetGroupNumbers().Length;i++)
				//使用GetGroupNumbers获取组号数组
			{
				int num=testR.GetGroupNumbers()[i];
				string str=testR.GetGroupNames()[i];
				int turnNum=testR.GroupNumberFromName(str);
				//使用GroupNumberFromName方法通过组名获取组号
				string turnStr=testR.GroupNameFromNumber(num);
				//使用GroupNameFromNumber方法通过组号获取组名
				Console.WriteLine("组名:"+str+sequarer+"由此获取组号:"+turnNum.ToString());			
				Console.WriteLine("组号:"+num+sequarer+"由此获取组名:"+turnStr);
				Console.WriteLine();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -