欢迎来到天天文库
浏览记录
ID:39546875
大小:74.50 KB
页数:15页
时间:2019-07-06
《C#中使用正则表达式详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#中使用正则表达式详解正则表达式,就是用某种模式去匹配一类字符串的一个公式。在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing"。C#提供了一些正则表达式类(这些类在System.Text.RegularExpressions命名空间中),他们具有用来检查给出的字符串是否符合规则的属性和方法。(1)“@”符号“@”虽然并非C#正则表达式的“成员”,
2、但是它经常与C#正则表达式出双入对。“@”表示,跟在它后面的字符串是个“逐字字符串”,不是很好理解,举个例子,以下两个声明是等效的:stringx="D:\MyHuang\MyDoc";stringy=@"D:MyHuangMyDoc";事实上,如果按如下声明,C#将会报错,因为“”在C#中用于实现转义,如“”换行:stringx="D:MyHuangMyDoc";(2)基本的语法字符。d0-9的数字Dd的补集(以所有字符为全集,下同),即所有非数字的字符w单词字符,指大小写字母
3、、0-9的数字、下划线Ww的补集s空白字符,包括换行符、回车符r、制表符t、垂直制表符v、换页符fSs的补集.除换行符外的任意字符[…]匹配[]内所列出的所有字符[^…]匹配非[]内所列出的字符(…)将子表达式分组下面提供一些简单的示例:Codestringi="";stringm="3";Regexr=newRegex(@"D");//同Regexr=newRegex("\D");//r.IsMatch(i)结果:true//r.IsMatch(m)结果:falsest
4、ringi="%";stringm="3";Regexr=newRegex("[a-z0-9]");//匹配小写字母或数字字符//r.IsMatch(i)结果:false//r.IsMatch(m)结果:true(3)定位字符“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。^表示其后的字符必须位于字符串的开始处或行首$表示其前面的字符必须位于字符串的结束处或行尾b匹配一个单词的边界B匹配一个非单词的边界另外,还包括:A前面的
5、字符必须位于字符处的开始处,z前面的字符必须位于字符串的结束处,Z前面的字符必须位于字符串的结束处,或者位于换行符前下面提供一些简单的示例:Codestringi="Livefornothing,dieforsomething";Regexr1=newRegex("^Livefornothing,dieforsomething$");//r1.IsMatch(i)trueRegexr2=newRegex("^Livefornothing,dieforsome$");//r2.IsMatch(i)fal
6、seRegexr3=newRegex("^Livefornothing,dieforsome");//r3.IsMatch(i)truestringi=@"Livefornothing,dieforsomething";//多行Regexr1=newRegex("^Livefornothing,dieforsomething$");Console.WriteLine("r1matchcount:"+r1.Matches(i).Count);//0Regexr2=newRegex("^Livefornoth
7、ing,dieforsomething$",RegexOptions.Multiline);Console.WriteLine("r2matchcount:"+r2.Matches(i).Count);//0Regexr3=newRegex("^Livefornothing,rdieforsomething$");Console.WriteLine("r3matchcount:"+r3.Matches(i).Count);//1Regexr4=newRegex("^Livefornothing,$"
8、);Console.WriteLine("r4matchcount:"+r4.Matches(i).Count);//0Regexr5=newRegex("^Livefornothing,$",RegexOptions.Multiline);Console.WriteLine("r5matchcount:"+r5.Matches(i).Count);//0Regexr6=newRegex("^Livefornothing,r
此文档下载收益归作者所有