在编写程序的时候,经常需要查找某些复杂规则的字符串,而正则表达式就是为了描述这些规则的工具,即记录文本规则的代码。
如在目录下搜索是用的‘*’.doc中的通配符‘*’。
下面为一些常见的元字符及其功能的介绍:
转义字符:转义字符是用来查找元字符本身,一般是在前面加一个‘\‘.如‘*‘为‘\*‘.
限定符为重复描述字符,即对于出现多次的字符进行查询。
常见的限定符有:
在C#中,可以使用RegexOptions 枚举来选择C#对正则表达式的处理方式。
其中有分为Capture类、Group类、Match类;
Capture类:表示单个子表达式捕获中的结果。Capture类表示单个成功捕获中的一个子字符串。该类没有公
共构造函数,可以从Group类或者Match类中得到一个Capture类的对象集合。Capture类有三个常用属性,分
别是Index、Length和Value。Index表示捕获的子字符串的第一个字符的位置。Length表示捕获的子字符串的
长度,Value表示捕获的子字符串。
Group类:表示正则表达式中分组的信息。该类提供了对分组匹配的正则表达式的支持。该类没有公共构造函数
。可以从Match类中得到一个Group类的集合。如果正则表达式中的分组已命名,则可以使用名字对其进行访问
,如果没有命名,则可以采用下标访问。注意:每一个Match的Groups集合中的第0个元素(Groups[0])都是
这个Match捕获的字符串,也是Capture的Value。
Match类:表示单个正则表达式匹配的结果。该类同样没有公共构造函数,可以从Regex类的Match()方法得到该
类的一个实例,也可以使用Regex类的Matches()方法得到给类的一个集合。
这三个类都能表示单个正则表达式匹配的结果,但Match类得到的更为详细,包含捕获和分组信息。所以,Match
类在这个三个类中是最常用的。
原文:http://www.cnblogs.com/weifengxiyu/p/4442301.html