利用正则表达式实现字符串搜索,在C#中使用.NET一般表达式引擎
创新互联专业为企业提供渠县网站建设、渠县做网站、渠县网站设计、渠县网站制作等企业网站建设、网页设计与制作、渠县企业网站模板建站服务,十余年渠县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
下面将通过一个样例的开发,执行并显示一些搜索的结果,说明一般表达式的一些特性,以及如何在C#中使用.NET一般表达式引擎。说明使用字符串时应在前面加上符号@
- String Text=@"I can not find my position in Beijing";
把这个文本称为输入字符串,为了说明一般表达式.NET类,本文先进行一次纯文本的搜索,这次搜索不带任何转义序列或一般表达式命令。假定要查找所有字符串ion,把这个搜索字符串称为模式。使用一般表达式和上面声明的变量Text,编写出下面的代码:
- String Pattern = "ion";
- MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions);
- foreach(Match NextMatch in Matches)
- { Console.WriteLine(NextMatch.Index); }
在这段代码中,使用了System.Text.RegularExpressions名称空间中Regex类的静态方法Match()。这个方法的参数是一些输入文本、一个模式和RegexOptions每句中的一组可选标志。Matches()返回MatchCollection,每个匹配都用一个 Match对象来表示。在上面的代码中,只是在集合中迭代,使用Match类的Index属性,返回输入文本中匹配所在的索引。运行这段代码,将得到1个匹配项。
一般集合的功能主要取决于C#模式字符串。原因是C#模式字符串不仅仅包含纯文本。如前所述。还包含元字符和转义序列,元字符是给出命令的特殊字符,而转义序列的工作方式与C#的转义序列相同,它们都是以反斜杠\开头的字符,具有特殊的含义。例如,假定要查找以n开头的字,就可以使用转义序列\b,它表示一个字的边界(字的边界是以某个字母数字标的字符开头,或者后面是一个空白字符或标点符号),下面编写如下代码:
- String Pattern = @"\bn";
- MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions.IgnoreCase|
- RegexOptions.ExplicitCapture);
要在运行时把\b传递给.NET一般表达式引擎,反斜杠\不应被C#编译器解释为转义序列。如果要查找以序列ion结尾的字,可以使用下面的代码:
- String Pattern = @"ion\b";
如果要查找以字母n开头,以序列ion结尾的所有字,需要一个以\bn开头,以ion\b结尾的模式,中间内容怎么办?需要告诉计算机n和ion中间的内容可以是任意长度的字符,只要字符不是空白即可,正确的模式如下所示:
- String Pattern = @"\bn\S*ion\b";
以上介绍C#模式字符串
新闻名称:介绍C#模式字符串
网址分享:http://www.mswzjz.com/qtweb/news1/199651.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联