五、.Net中的正则表达式用法
Regex 类代表不可变的可编译的正则表达式,是.Net 中正则表达式的主要应用类,封装在 System.Text.RegularExpressions 命名空间中。
1. 使用Regex.Split 方法
Regex.Split 返回字符串数组作为与正则表达式匹配的结果。
2. 使用Matches方法
Regex.Matches 方法返回值为MatchCollection类型(System.Text.RegularExpressions),包括零个或多个Match对象,每个Match对象包括长度(Length)和值(Value)两个属性。
3. 使用Group类
Regex.Matches 方法返回的MatchCollection类中的每个Match类实例都包含一个Groups集合,Groups集合中包含Match中的所有分组,可以对应正则表达式的 (?<name>exp) 语法。
4. IsMatch 方法
Regex.IsMatch 方法返回一个bool值,表示指定的正则表达式是否使用指定的匹配选项在指定的输入字符串中找到了匹配项。
5. 常用的RegexOptions
RegexOptions.IgnoreCase 指定不区分大小写的匹配。
RegexOptions.Multiline 多行模式。 更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。
RegexOptions.Singleline 指定单行模式。 更改点 (.) 的含义,以使它与每个字符(而不是除 /n 之外的所有字符)匹配。
RegexOptions.IgnorePatternWhitespace 消除模式中的非转义空白并启用由 # 标记的注释。 但是,IgnorePatternWhitespace 值不会影响或消除字符类中的空白。
RegexOptions.ExplicitCapture 指定有效的捕获仅为形式为 (?<name>...) 的显式命名或编号的组。 这使未命名的圆括号可以充当非捕获组,并且不会使表达式的语法 (?:...) 显得笨拙。