admin 管理员组

文章数量: 1086019


2024年4月13日发(作者:html5的表单制作)

C#2010 正则表达式语法

C#中兵没有专门的正则表达式类,所有正则表达式都是以普通字符串的方式存

储,在调用正则表达式时,需要通过rExpressions命名空间中的

类进行匹配。

1.正则表达式的组成

典型的正则表达式字符串由字符、元字符和非打印符号组成,其分别代表不同

类型的字符。

 普通字符

在正则表达式中,字母、数字、汉字、下划线、以及没有特殊定义的标点符号,

都是普通字符。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的

一个字符。字符可以组成最简单的正则表达式,用于匹配与其相同的字符串。

 元字符

元字符是在正则表达式中含有特殊意义的字符,其与普通字符相对应。元字符

通常由标点符号开始由一个或多个标点符号与字符组成。常用的元字符如表6-5所

示。

表6-5 正则表达式中的元字符

元字符

^尖号

$美元符号

反斜杠

.点

*星号

+加号

?问号

()括号

[]中括号

|竖线

]右中括号

-破折号

反斜杠

{n}数量符号

{n,}数量上限

{n,n}数量范围

描述

匹配字符串开始的部分,即索引号为0的字符。

匹配字符串结尾的部分,即索引号为-1的字符

对特殊字符进行转义(关于转义,请参考本节之后匹配字符的相关章节)

匹配任意单个字符。如为正则表达式使用了dotall属性,则匹配换行符

匹配前面重复0次或多次的项目

匹配前面重复1次或多次的项目

匹配前面重复0次或1次的项目

定义组项目,可限制逻辑“或”字符、数量表示符等的范围

和,用多个条件匹配一个字符或一组字符

逻辑或操作,匹配竖线左侧或右侧的部分

定义字符类的结尾

定义字符的范围

定义元序列并撤消元字符的转义

指定前一项目的重复次数

指定前一项目的重复最小次数到无限多次

指定前一项目的重复最小次数和最大次数。

 非打印符号

非打印符号的作用是表示字符串对象中的各种特殊符号,以及某些范围性的符

号。在匹配字符串的正则表达式中,编译程序并不会将斜杠“”作为转义符处理,

而是作为非打印字符的识别符号,常用的非打印符号如表6-6所示。

表6-6 常用非打印符号

转义字符

b

d

f

r

S

v

W

$

[和]

.

+

|

说明

匹配单词字符和非单词字符之间

的位置

匹配十进制数字

匹配换页符

匹配回车符

匹配除空白字符外任意字符

匹配垂直分页符

匹配除单词字符外的任意字符

美元号“$”

中括号“[]”

点“.”

加号“+”

竖线“|”

D

n

s

t

w

^

(和)

{和}

?

*

匹配除数字外任何字符

匹配换行符

匹配任意空白字符

匹配制表符

匹配单词字符(包括大小写英文字

母、数字和下划线)

尖号“^”

小括号“()”

大括号“{}”

问号“?”

乘号或星号“*”

斜杠“”

转义字符

B

说明

匹配任意两个字符之间的位置

2.匹配单个字符

在了解了正则表达式的组成之后,开发者可以自行结合正则表达式的组成,尝

试编写一些简单的正则表达式规则,以供日后验证字符串使用。

正则表达式可以匹配任意的字符串型变量,既包括匹配只包含一个字符引用的

字符串,也可以匹配包含多个字符引用的字符串,以及匹配包含指定数量字符引用

的字符串。

 匹配普通字符

在匹配一个单独的字符时,可以使用中括号将将其括住,表示中括号中的正则

表达式用于识别一个独立的字符。例如,匹配只包含字母ABCD的字符串,可以将

中括号括住ABCD等4个大写字母,如下所示。

[ABCD]

如需要匹配的字符数量较多,且带有一定的连续性,则可以使用破折号“-”将

连续字符省略除开头和末尾以外其他的字符。例如,匹配包含字母a到s之间的小

写字母,如下所示。

[a-s]

在进行匹配时,如果需要匹配ASCII符号,则可以使用“x”的方式标识其后

的两位16进制数字为ASCII编号。而如需要匹配Unicode符号,则可以使用“u”

的方式标识其后的4位16进制数字为Unicode编号。在下表中,就总结了常用的5


本文标签: 字符 匹配 字符串 符号 包含