雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁 > 軟件編程 > C#教程 >

C#正則匹配RegexOptions選項(xiàng)的組合使用方法

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊:

C#中使用正則所需要引用的命名空間是 using System.Text.RegularExpressions

它包含了8個(gè)類,用得最多是的Regex,Regex不僅可以用來創(chuàng)建正則表達(dá)式,而且提供了很多有用的方法。

首先來看一下如何創(chuàng)建一個(gè)Regex對(duì)象:

new Regex(string pattern)

new Regex(string pattern,RegexOptions options)

第一個(gè)參數(shù)是正則表達(dá)式字符串,第二個(gè)參數(shù)正則配置的選項(xiàng),有以下幾種選項(xiàng):

IgnoreCase   //是匹配忽略大小寫 默認(rèn)情況區(qū)分大小寫
RightToLeft   //從右到左查找字符串 默認(rèn)是從左到右
None    //不設(shè)定標(biāo)志  這是默認(rèn)選項(xiàng),就是不設(shè)置第2個(gè)參數(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í)可能有人會(huì)問了,如果既想忽略大小寫,又想匹配多行,該怎么辦呢,就是兩種選項(xiàng)同時(shí)滿足的情況,該如何做呢?

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

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

上一篇:總結(jié)C#網(wǎng)絡(luò)編程中對(duì)于Cookie的設(shè)定要點(diǎn)

欄    目:C#教程

下一篇:在C#中g(shù)lobal關(guān)鍵字的作用及其用法

本文標(biāo)題:C#正則匹配RegexOptions選項(xiàng)的組合使用方法

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6601.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有