📄 sample47.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 + -