温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中模式字符串怎么用

发布时间:2021-12-01 09:49:55 来源:亿速云 阅读:184 作者:小新 栏目:编程语言

这篇文章主要介绍了C#中模式字符串怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

利用正则表达式实现字符串搜索,在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#中模式字符串怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI