后端开发|C#.Net教程
C#,正则表达式,替换字符串
后端开发-C#.Net教程事例一:\w+=>[A-Za-z1-9_],\s+=>任何空白字符,()=>捕获
响应式教育网站源码,Ubuntu抢占分几步,爬虫软件 合法吗,php luhm,seo服务光谷lzw
string text = @"public string testMatchObj string s string match ";string pat = @"(\w+)\s+(string)";// Compile the regular expression.Regex r = new Regex(pat, RegexOptions.IgnoreCase);// Match the regular expression pattern against a text string.Match m = r.Match(text);int matchCount = 0;while (m.Success) { Response.Write("Match"+ (++matchCount) + "
"); for (int i = 1; i <= 2; i++) { Group g = m.Groups[i]; Response.Write("Group"+i+"=\" + g + "\" + "
"); CaptureCollection cc = g.Captures; for (int j = 0; j < cc.Count; j++) { Capture c = cc[j]; Response.Write("Capture"+j+"=\" + c + ", Position="+c.Index + "
"); } } m = m.NextMatch();}
该事例运行结果是:
最好的论坛源码,傲腾内存 ubuntu,爬虫可以卖钱吗,php exercise,黄圃seolzw
Match1Group1=publicCapture0=public, Position=0Group2=stringCapture0=string, Position=7Match2Group1= estMatchObjCapture0= estMatchObj, Position=14Group2=stringCapture0=string, Position=27Match3Group1=sCapture0=s, Position=34Group2=string
Capture0=’string’, Position=36
易语言qq好友计数器源码,ubuntu 唤醒 a卡,爬虫蚁能吃吗,php8和php7,seo有效收录lzw
事例二:
string x = this.txt.Text;RegexOptions ops = RegexOptions.Multiline;Regex r = new Regex(@"\[(.+?)\]", ops); //\[(.+?)\/\] @"\[(.+)\](.*?)\[\/\1\]"//Response.Write(r.IsMatch(x).ToString()+DateTime.Now.ToString());if (r.IsMatch(x)){ x = r.Replace(x, ""); Response.Write(x.ToString() + DateTime.Now.ToString()); //Console.WriteLine("var x:" + x);//输出:Live for nothing}else{ Response.Write("false" + DateTime.Now.ToString());}
这个是为了替换”[]”对,把它们换成””
C#中的正则表达式包含在.NET基础类库的一个名称空间下,这个名称空间就是System.Text.RegularExpressions
。该名称空间包括8个类,1个枚举,1个委托。他们分别是:
Capture: 包含一次匹配的结果;
CaptureCollection: Capture的序列;
Group: 一次组记录的结果,由Capture继承而来;
GroupCollection:表示捕获组的集合
Match: 一次表达式的匹配结果,由Group继承而来;
MatchCollection: Match的一个序列;
MatchEvaluator: 执行替换操作时使用的委托;
Regex:编译后的表达式的实例。
RegexCompilationInfo:提供编译器用于将正则表达式编译为独立程序集的信息
RegexOptions 提供用于设置正则表达式的枚举值
Regex类中还包含一些静态的方法:
Escape: 对字符串中的regex中的转义符进行转义;
IsMatch: 如果表达式在字符串中匹配,该方法返回一个布尔值;
Match: 返回Match的实例;
Matches: 返回一系列的Match的方法;
Replace: 用替换字符串替换匹配的表达式;
Split: 返回一系列由表达式决定的字符串;
Unescape:不对字符串中的转义字符转义。