C#正則匹配RegexOptions選項的組合使用方法
C#中使用正則所需要引用的命名空間是 using System.Text.RegularExpressions
它包含了8個類,用得最多是的Regex,Regex不僅可以用來創(chuàng)建正則表達式,而且提供了很多有用的方法。
首先來看一下如何創(chuàng)建一個Regex對象:
new Regex(string pattern)
new Regex(string pattern,RegexOptions options)
第一個參數(shù)是正則表達式字符串,第二個參數(shù)正則配置的選項,有以下幾種選項:
IgnoreCase //是匹配忽略大小寫 默認情況區(qū)分大小寫
RightToLeft //從右到左查找字符串 默認是從左到右
None //不設(shè)定標志 這是默認選項,就是不設(shè)置第2個參數(shù) 表示區(qū)分大小寫 從左到右
MultiLine //指定了^和$可以匹配行的開頭和結(jié)尾,也就是說使用了換行分割,每一行能得到不同的匹配
SingleLine //規(guī)定特殊字符"."匹配任一字符,換行符除外。默認情況下特殊字符"."不匹配換行
IgnoreCase的例子
string test = "Abcccccc";
Regex reg = new Regex("abc");
Console.WriteLine(reg.IsMatch(test)); //false
Regex reg1 = new Regex("abc",RegexOptions.IgnoreCase); //不區(qū)分大小寫
Console.WriteLine(reg1.IsMatch(test));//true
RightToLeft的例子
string test = "vvv123===456vvv";
Regex reg = new Regex("\\d+");// 123 從左到右 匹配連續(xù)數(shù)字
Console.WriteLine(reg.Match(test));
Regex reg1 = new Regex("\\d+",RegexOptions.RightToLeft);
Console.WriteLine(reg1.Match(test));// 456 從右到左 匹配連續(xù)數(shù)字
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("結(jié)果:{0}", item.Value);
}
這時可能有人會問了,如果既想忽略大小寫,又想匹配多行,該怎么辦呢,就是兩種選項同時滿足的情況,該如何做呢?
呵呵,當然是有方法的的,只要用豎線將兩個選項隔開就可以了,如下舉例
Regex.Matches(input.ToString(), pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);
相關(guān)文章
C#中DataGridView動態(tài)添加行及添加列的方法
這篇文章主要介紹了C#中DataGridView動態(tài)添加行及添加列的方法,涉及C#中DataGridView針對行與列動態(tài)操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
jQuery結(jié)合C#實現(xiàn)上傳文件的方法
這篇文章主要介紹了jQuery結(jié)合C#實現(xiàn)上傳文件的方法,涉及C#文件上傳的相關(guān)技巧,需要的朋友可以參考下2015-04-04
使用C#實現(xiàn)讀取系統(tǒng)配置文件的代碼實例講解
這篇文章主要介紹了使用C#實現(xiàn)讀取系統(tǒng)配置文件的代碼實例,使用到了ConfigurationManager類,需要的朋友可以參考下2015-12-12
深入Unix時間戳與C# DateTime時間類型互換的詳解
本篇文章是對Unix時間戳與C# DateTime時間類型互換進行了詳細的分析介紹,需要的朋友參考下2013-06-06

