以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- c#中的RegEx用法解释 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=122388) |
-- 作者:卷积内核 -- 发布时间:11/8/2011 11:02:00 AM -- c#中的RegEx用法解释 RegEx是什么? RegEx是Visual Studio .NET中的正则表达式类 .NET中正则表达式的语法参见MSDN。该类包含许多方法,在此恕不赘述。 RegEx怎么用? 在C#中加入RegularExpression命名空间 在C#中,要使用正则表达式类,请在源文件开头处添加以下语句: using System.Text.RegularExpressions; 静态Match方法 使用静态Match方法,可以得到源中第一个匹配模式的连续子串。 例如: Match myMatch = Regex.Match("asdf\r\nasdfasdf\r\n", @"\basdf\B"); Console.WriteLine(myMatch.Value); 程序将输出asdf(这里匹配了文本中第二个asdf) 静态的Match方法有2个重载,分别是 Regex.Match(string input, string pattern); Regex.Match(string input, string pattern, RegexOptions options); 第一种重载的参数表示:输入、模式 第二种重载的参数表示:输入、模式、RegexOptions枚举的“按位或”组合。 RegexOptions枚举的有效值是: Complied表示编译此模式 CultureInvariant表示不考虑文化背景 ECMAScript表示符合ECMAScript,这个值只能和IgnoreCase、Multiline、Complied连用 ExplicitCapture表示只保存显式命名的组 IgnoreCase表示不区分输入的大小写 IgnorePatternWhitespace表示去掉模式中的非转义空白,并启用由#标记的注释 Multiline表示多行模式,改变元字符^和$的含义,它们可以匹配行的开头和结尾 None表示无设置,此枚举项没有意义 RightToLeft表示从右向左扫描、匹配,这时,静态的Match方法返回从右向左的第一个匹配 Singleline表示单行模式,改变元字符.的意义,它可以匹配换行符 注意:Multiline在没有ECMAScript的情况下,可以和Singleline连用。Singleline和Multiline不互斥,但是和ECMAScript互斥。 静态的Matches方法 这个方法的重载形式同静态的Match方法,返回一个MatchCollection,表示输入中,匹配模式的匹配的集合。 静态的IsMatch方法 此方法返回一个bool,重载形式同静态的Matches,若输入中匹配模式,返回true,否则返回false。 可以理解为:IsMatch方法,返回Matches方法返回的集合是否为空。
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |