C#正则表达式的应用

嘎子 C# 2016-03-06 1,554 次浏览 没有评论

自己正则表达式的基础看过很多了,但总是记不住,就将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、常用的限定符

原创文章,文章首发于:Riley Ge (@rileyge) — Steemit

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

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

相关主题

  • C#正则表达式的零宽断言2016-06-17 C#正则表达式的零宽断言 (0)
    我写文章的一个最基本的想法就是只写可以解决问题的部分,这样能很快的解决一个问题,而不探讨这项技术中的复杂的技术细节,这样有好处也有坏处。好处是我写的文章都简单 […]
  • 以太坊智能合约开发实例(二)开发环境搭建2019-08-17 以太坊智能合约开发实例(二)开发环境搭建 (0)
    为了方便读者阅读,开发环境搭建这一章节会以Windows、Ubuntu和MacOS三节的形式进行讲解。使用特定系统的读者可以直接跳到相应的章节开始阅读、操 […]
  • C#中几种比较是否相等的方法(Equals,ReferenceEquals,==)2016-12-04 C#中几种比较是否相等的方法(Equals,ReferenceEquals,==) (0)
    这个文章是之前遇到的一个问题,自己就记录在案了,现在分享出来给大家,当然这里面的内容在很多地方也能找到,并非常所有的东西都是原创,但我会尽量的把问题说的非常明 […]
  • 返回null还是抛出Exception2016-03-22 返回null还是抛出Exception (2)
    我自己在写代码的时候也经常会写return null,但仔细想想这真的好吗? public User GetUser(string […]
  • 从Visual Studio for Mac再议微软的野心2016-12-10 从Visual Studio for Mac再议微软的野心 (0)
    之前写过一篇文章:从.Net Core的发布粗谈微软的野心,今天我也不知道自己怎么想的,又去了Visual […]
  • 从.Net Core的发布粗谈微软的野心2016-05-15 从.Net Core的发布粗谈微软的野心 (0)
    今天在CSDN上看到消息说.Net Core要发RC2版本了,先不说这个消息是真是假,但.Net […]

说点什么

avatar
  Subscribe  
提醒
回顶部