C#正则匹配RegexOptions选项的组合使用方法
C#中使用正则所需要引用的命名空间是 using System.Text.RegularExpressions 它包含了8个类,用得最多是的Regex,Regex不仅可以用来创建正则表达式,而且提供了很多有用的方法。 首先来看一下如何创建一个Regex对象: new Regex(string pattern) new Regex(string pattern,RegexOptions options) 第一个参数是正则表达式字符串,第二个参数正则配置的选项,有以下几种选项: IgnoreCase //是匹配忽略大小写 默认情况区分大小写 IgnoreCase的例子 string test = "Abcccccc"; Regex reg = new Regex("abc"); Console.WriteLine(reg.IsMatch(test)); //false Regex reg1 = new Regex("abc",RegexOptions.IgnoreCase); //不区分大小写 Console.WriteLine(reg1.IsMatch(test));//true RightToLeft的例子 string test = "vvv123===456vvv"; Regex reg = new Regex("d+");// 123 从左到右 匹配连续数字 Console.WriteLine(reg.Match(test)); Regex reg1 = new Regex("d+",RegexOptions.RightToLeft); Console.WriteLine(reg1.Match(test));// 456 从右到左 匹配连续数字 MultiLine的例子 StringBuilder input = new StringBuilder(); input.AppendLine("A bbbb A"); input.AppendLine("C bbbb C"); string pattern = @"^w"; Console.WriteLine(input.ToString()); MatchCollection matchCol = Regex.Matches(input.ToString(),pattern,RegexOptions.Multiline); foreach (Match item in matchCol) { Console.WriteLine("结果:{0}",item.Value); } 这时可能有人会问了,如果既想忽略大小写,又想匹配多行,该怎么办呢,就是两种选项同时满足的情况,该如何做呢? 呵呵,当然是有方法的的,只要用竖线将两个选项隔开就可以了,如下举例 Regex.Matches(input.ToString(),RegexOptions.IgnoreCase | RegexOptions.Multiline); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |