当前位置:首页 > Windows程序 > 正文

C#高级编程四十六天

2021-03-29 Windows程序

1.定义一个Regex类的实例

Regex regex=new Regex(“”);

这里初始化参数就是一个正则表达式,”\d”表示配置数字

2.判断是否匹配

判断一个字符串,是否匹配一个正则表达式,Regex对象中,可以使用Regex.IsMatch(string )方法.

Regex regex = new Regex(@"\d");

bool b1=regex.IsMatch("abc"); //返回值为false,字符串中未包含数字

bool b2 = regex.IsMatch("abc3abc"); //返回值为true,因为字符串中包含了数字

3.获取匹配次数

使用Regex.Matches(string)方法得到一个Matched集合,再使用这个集合的Count属性.

int count=regex.Matches(“abc123abc”).Count;

count的值为3,因为匹配了三次数字

4.获取匹配内容

使用regex.Match(string)方法进行匹配

Regex regex = new Regex(@"\d");

string str=regex.Match("abc123abc").Value;

Console.WriteLine(str);

返回值为1,表示第一个匹配到的值

5.捕获

正则表达式中可以使用括号对部分值进行捕获,想要获取捕获的值,可以使用Regex.Match(string).Groups[int].Value来获取.

Regex regex = new Regex(@"\w2(\d*)"); //匹配两个字母间的数字串

string str=regex.Match("abc123abc").Groups[0].Value; //返回值为“123

Console.WriteLine(str);

.C#正则表达式符号模式

说明:由于在正则表达式中“ ”、“ ”、“ ”、“ ”、“ ”、“ ”、“(”、“)”、“ ”、“ ”、“ ”等字符已经具有一定特殊意义,如果需要用他们的原始意义,则应该对它进行转义,例如希望在字符串中至少有一个”\”,那么正则表达式应该这么说:\\+.

一.在C#,要使用正则表达式,请在源文件开头处添加以下语句:

using System.Text.RegularExpressions

二.Regex类常用的方法

1.静态的Match方法

使用静态Match,可以得到源中第一个匹配模式的连续子串.

静态的Match方法有两个重载,分别是:

Regex.Match(string input,string pattren);

Regex.Match(string input,string pattren ,RegexOptions options);

第一种重载的参数表示:输入,模式

第二种重载的参数表示:输入,模式,RegexOptions枚举的”按位或”组合.

RegexOptions枚举的有效值是:

Complied表示编译此模式

CultureInvariant表示不考虑文化背景

ECMAScript表示符合ECMAScript,这个值只能和IgnoreCaseMultilineComplied连用

ExplicitCapture表示只保存显式命名的组

IgnoreCase表示不区分输入的大小写

IgnorePatternWhitespace表示去掉模式中的非转义空白,并启用由#标记的注释

Multiline表示多行模式,改变元字符^$的含义,它们可以匹配行的开头和结尾

None表示无设置,此枚举项没有意义

RightToLeft表示从右向左扫描、匹配,这时,静态的Match方法返回从右向左的第一个匹配

Singleline表示单行模式,改变元字符.的意义,它可以匹配换行符

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69453.html