C#高级编程四十六天
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,这个值只能和IgnoreCase、Multiline、Complied连用
ExplicitCapture表示只保存显式命名的组
IgnoreCase表示不区分输入的大小写
IgnorePatternWhitespace表示去掉模式中的非转义空白,并启用由#标记的注释
Multiline表示多行模式,改变元字符^和$的含义,它们可以匹配行的开头和结尾
None表示无设置,此枚举项没有意义
RightToLeft表示从右向左扫描、匹配,这时,静态的Match方法返回从右向左的第一个匹配
Singleline表示单行模式,改变元字符.的意义,它可以匹配换行符
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69453.html
- 上一篇:关于Debug和Release的区别 (VS C#)
- 下一篇:win7 解锁注册表