C#正则表达式的应用

嘎子 C# 2016-03-06 477 次浏览 没有评论

自己正则表达式的基础看过很多了,但总是记不住,就将C#使用正则表达式的最常用的东西自己整理一下,以后直接到自己的博客上找非常方便。也希望能帮到有和我一样需求的人。

本文面向的是有一定的正则表达式的基础的人员,介绍在C#中如何使用正则表达式。并将正则表达式中一些常用的东西整理一下。新手和高手都不太适合。

C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。先介绍一下这三个类:

Regex类正则表达式类,个人最常用的是他的三个静态方法(每一个静态方法都有对应的动态方法)IsMatch、Match、Matches。IsMatch方法验证匹配。Regex类的IsMatch()方法返回一个bool值,如果有匹配项,返回true,否则返回false。用Match和Matches可以返回更详细的结果,结果的类型为Match类。

Match:表示单个正则表达式匹配的结果。该类同样没有公共构造函数,可以从Regex类的Match()方法得到该类的一个实例,也可以使用Regex类的Matches()方法得到给类的一个集合。Match类表示单个正则表达式匹配的结果,并包含详细信息,包括捕获和分组信息。我常用的性和方法有Success(是否匹配成功)、Value(匹配的字符串)、Index(匹配的字符串在原符串中的位置)

Group类:说名实在话,这个类还没有用过,这里不介绍了。

剩下的主要就是匹配模式字符串的编写了,首先要说明的一点是\在C#中为转义的意思,所以如果你在字符串中直接写类似于\b这样的东西,程序为报错,解决方法有以下两种:

 最后来两个表记录一下自己经常忘记的内容:

元字符

说明

.

匹配除换行符以外的任意字符

\b

匹配单词的开始或结束

\d

匹配数字

\s

匹配任意的空白符

\w

匹配字母或数字或下划线或汉字

^

匹配字符串的开始

$

匹配字符串的结束

表1、常用的元字符

 

限定符

说明

*

重复零次或更多次

+

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次

表2、常用的限定符

原创文章,转载请注明: 转载自TsonTec:测量解决方案提供者

本文链接地址: C#正则表达式的应用

相关主题

  • C#正则表达式的零宽断言2016-06-17 C#正则表达式的零宽断言 (0)
    我写文章的一个最基本的想法就是只写可以解决问题的部分,这样能很快的解决一个问题,而不探讨这项技术中的复杂的技术细节,这样有好处也有坏处。好处是我写的文章都简单 […]
  • 从Visual Studio for Mac再议微软的野心2016-12-10 从Visual Studio for Mac再议微软的野心 (0)
    之前写过一篇文章:从.Net Core的发布粗谈微软的野心,今天我也不知道自己怎么想的,又去了Visual […]
  • C#重载操作符==和!=时注意问题2016-03-12 C#重载操作符==和!=时注意问题 (0)
    1、大家一定要明确一点就是如果两个类在没有重载==和!=时用这两个运算符进行比较,那么只有引用相同的地方的时候才返回true,否则(不管里面的内容是否相等)返 […]
  • C#中几种比较是否相等的方法(Equals,ReferenceEquals,==)2016-12-04 C#中几种比较是否相等的方法(Equals,ReferenceEquals,==) (0)
    这个文章是之前遇到的一个问题,自己就记录在案了,现在分享出来给大家,当然这里面的内容在很多地方也能找到,并非常所有的东西都是原创,但我会尽量的把问题说的非常明 […]
  • C#中的具名参数、可选参数及注意问题2016-03-21 C#中的具名参数、可选参数及注意问题 (0)
    具名参数 和 可选参数 是 C# framework 4.0 出来的新特性。 一. 常规方法定义及调用 public void […]
  • VS中文注释下面总出现红线解决方法2016-03-05 VS中文注释下面总出现红线解决方法 (0)
    这是一个小问题,不会影响程序的运行,但有时看起来挺烦的。 解决也很简单,出现红线是因为Visual Assist […]

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz
回顶部