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

