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
版权声明:本文标题:C#2010 正则表达式语法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1712997708a616383.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论