介绍C#模式字符串

开发 后端
本文介绍C#模式字符串,通过一个样例的开发,执行并显示一些搜索的结果,说明一般表达式的一些特性,以及如何在C#中使用.NET一般表达式引擎。

利用正则表达式实现字符串搜索,在C#中使用.NET一般表达式引擎

下面将通过一个样例的开发,执行并显示一些搜索的结果,说明一般表达式的一些特性,以及如何在C#中使用.NET一般表达式引擎。说明使用字符串时应在前面加上符号@

  1. String Text=@"I can not find my position in Beijing"; 

把这个文本称为输入字符串,为了说明一般表达式.NET类,本文先进行一次纯文本的搜索,这次搜索不带任何转义序列或一般表达式命令。假定要查找所有字符串ion,把这个搜索字符串称为模式。使用一般表达式和上面声明的变量Text,编写出下面的代码:

  1. String Pattern = "ion";  
  2. MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions);  
  3. foreach(Match NextMatch in Matches)  
  4. { Console.WriteLine(NextMatch.Index); } 

在这段代码中,使用了System.Text.RegularExpressions名称空间中Regex类的静态方法Match()。这个方法的参数是一些输入文本、一个模式和RegexOptions每句中的一组可选标志。Matches()返回MatchCollection,每个匹配都用一个 Match对象来表示。在上面的代码中,只是在集合中迭代,使用Match类的Index属性,返回输入文本中匹配所在的索引。运行这段代码,将得到1个匹配项。

一般集合的功能主要取决于C#模式字符串。原因是C#模式字符串不仅仅包含纯文本。如前所述。还包含元字符和转义序列,元字符是给出命令的特殊字符,而转义序列的工作方式与C#的转义序列相同,它们都是以反斜杠\开头的字符,具有特殊的含义。例如,假定要查找以n开头的字,就可以使用转义序列\b,它表示一个字的边界(字的边界是以某个字母数字标的字符开头,或者后面是一个空白字符或标点符号),下面编写如下代码:

  1. String Pattern = @"\bn";  
  2. MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions.IgnoreCase|  
  3. RegexOptions.ExplicitCapture); 

要在运行时把\b传递给.NET一般表达式引擎,反斜杠\不应被C#编译器解释为转义序列。如果要查找以序列ion结尾的字,可以使用下面的代码:

  1. String Pattern = @"ion\b"; 

如果要查找以字母n开头,以序列ion结尾的所有字,需要一个以\bn开头,以ion\b结尾的模式,中间内容怎么办?需要告诉计算机n和ion中间的内容可以是任意长度的字符,只要字符不是空白即可,正确的模式如下所示:

  1. String Pattern = @"\bn\S*ion\b"; 

以上介绍C#模式字符串

【编辑推荐】

  1. C#字符串进行分割
  2. 全面测试C#字符串
  3. C# out和ref传递数组
  4. 浅析C#定义整型数组
  5. C#数据库连接字符串
责任编辑:佚名 来源: 51CTO.com
相关推荐

2009-08-26 13:24:54

C#字符串

2009-09-02 16:21:20

C#字符串

2009-08-07 14:22:56

C#字符串搜索

2009-08-24 17:06:37

C#字符串

2009-08-06 16:01:09

C#字符串函数大全

2009-08-24 13:04:44

操作步骤C#字符串

2009-08-07 14:15:21

C#字符串分割

2009-08-07 13:50:11

C#字符串

2009-09-02 17:44:41

C#字符串处理

2009-08-07 14:46:59

C#匹配字符串

2009-08-28 10:39:37

C#数值字符串

2009-08-07 15:58:54

C#字符串插入html

2009-08-06 17:24:08

C#字符串

2009-08-07 15:49:46

使用C#字符串

2009-09-02 15:53:27

C#判断字符串应用

2009-08-11 10:26:49

C#算法C#字符串反转

2009-08-21 15:06:09

C#连接字符串

2009-09-04 10:26:09

Java和C#字符串类

2009-08-07 14:02:12

C#数据库连接字符串

2009-09-01 17:41:53

C#截取字符串函数
点赞
收藏

51CTO技术栈公众号