C#--正则表达式

Posted X·3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#--正则表达式相关的知识,希望对你有一定的参考价值。

C#正则表达式

正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。

模式由一个或多个字符、运算符和结构组成。

定义正则表达式

下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。

  • 字符转义
  • 字符类
  • 定位点
  • 分组构造
  • 限定符
  • 反向引用构造
  • 备用构造
  • 替换
  • 杂项构造

1字符转义

正则表达式中的反斜杠字符(\\)指示其后跟的字符是特殊字符,或应按原义解释该字符。

下表列出了转义字符:

(2)字符类 

字符类与一组字符中的任何一个字符匹配。

下表列出了字符类:

(3)定位点 

定位点或原子零宽度断言会使匹配成功或失败,具体取决于字符串中的当前位置,但它们不会使引擎在字符串中前进或使用字符。

下表列出了定位点:

4分组构造

分组构造描述了正则表达式的子表达式,通常用于捕获输入字符串的子字符串。

下表列出了分组构造:

5限定符

限定符指定在输入字符串中必须存在上一个元素(可以是字符、组或字符类)的多少个实例才能出现匹配项。 限定符包括下表中列出的语言元素。

下表列出了限定符:

6反向引用构造

反向引用允许在同一正则表达式中随后标识以前匹配的子表达式。

下表列出了反向引用构造:

7备用构造

备用构造用于修改正则表达式以启用 either/or 匹配。

下表列出了备用构造:

8替换

替换是替换模式中使用的正则表达式。

下表列出了用于替换的字符:

9杂项构造

下表列出了各种杂项构造:

10Regex 类

Regex 类用于表示一个正则表达式。

下表列出了 Regex 类中一些常用的方法:

如需了解 Regex 类的完整的属性列表,请参阅微软的 C# 文档。

实例 1

下面的实例匹配了以 'S' 开头的单词:

当上面的代码被编译和执行时,它会产生下列结果:

  • Matching words that start with 'S':
  • The Expression: \\bS\\S*
  • Splendid
  • Suns

实例 2

下面的实例匹配了以 'm' 开头以 'e' 结尾的单词:

当上面的代码被编译和执行时,它会产生下列结果:

  • Matching words start with 'm' and ends with 'e':
  • The Expression: \\bm\\S*e\\b
  • make
  • maze
  • manage
  • measure

实例 3

下面的实例替换掉多余的空格:

当上面的代码被编译和执行时,它会产生下列结果:

  • Original String: Hello   World   
  • Replacement String: Hello World   

以上是关于C#--正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式的replace不起作用?

C#?正则表达式

正则表达式替换特殊符号(高分)

c#使用正则表达式提取内容

C#--正则表达式

[C/C++11]_[初级]_[使用正则表达式库regex]