国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#正則匹配RegexOptions選項的組合使用方法

2020-01-24 01:12:47
字體:
供稿:網(wǎng)友

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   //是匹配忽略大小寫 默認(rèn)情況區(qū)分大小寫
RightToLeft   //從右到左查找字符串 默認(rèn)是從左到右
None    //不設(shè)定標(biāo)志  這是默認(rèn)選項,就是不設(shè)置第2個參數(shù)  表示區(qū)分大小寫 從左到右
MultiLine   //指定了^和$可以匹配行的開頭和結(jié)尾,也就是說使用了換行分割,每一行能得到不同的匹配
SingleLine   //規(guī)定特殊字符"."匹配任一字符,換行符除外。默認(rèn)情況下特殊字符"."不匹配換行

IgnoreCase的例子

string test = "Abcccccc";Regex reg = new Regex("abc");Console.WriteLine(reg.IsMatch(test)); //falseRegex reg1 = new Regex("abc",RegexOptions.IgnoreCase); //不區(qū)分大小寫Console.WriteLine(reg1.IsMatch(test));//true

RightToLeft的例子

string test = "vvv123===456vvv";Regex reg = new Regex("http://d+");// 123  從左到右 匹配連續(xù)數(shù)字Console.WriteLine(reg.Match(test));Regex reg1 = new Regex("http://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);}

這時可能有人會問了,如果既想忽略大小寫,又想匹配多行,該怎么辦呢,就是兩種選項同時滿足的情況,該如何做呢?

呵呵,當(dāng)然是有方法的的,只要用豎線將兩個選項隔開就可以了,如下舉例

Regex.Matches(input.ToString(), pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline);

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 彰武县| 北辰区| 南通市| 翼城县| 乐东| 肥城市| 曲松县| 海伦市| 福州市| 白山市| 靖宇县| 博湖县| 岢岚县| 怀化市| 聊城市| 溆浦县| 英超| 辽阳市| 隆回县| 苏尼特左旗| 定陶县| 安国市| 荥经县| 北安市| 荆门市| 开远市| 中宁县| 通城县| 广州市| 铅山县| 磐石市| 灵丘县| 定日县| 建阳市| 阳原县| 沭阳县| 织金县| 金平| 公安县| 陇川县| 梁山县|