事例一:\w+=>[A-Za-z1-9_],\s+=>任何空白字符,()=>捕获
string text = @"public string testMatchObj string s string match ";
} } m = m.NextMatch(); }
该事例运行结果是: Match1 Group1='public' Capture0='public', Position=0 Group2='string' Capture0='string', Position=7 Match2 Group1='testMatchObj' Capture0='testMatchObj', Position=14 Group2='string' Capture0='string', Position=27 Match3 Group1='s' Capture0='s', Position=34 Group2='string' Capture0='string', Position=36
事例二:
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, "<$1>"); 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:不对字符串中的转义字符转义。
|
请发表评论