C# 正则表达式的组成
典型的正则表达式字符串由字符、元字符和非打印符号组成,其分别代表不同类型的字符。
正则匹配符号+数字结尾字符串● 普通字符
在正则表达式中,字母、数字、汉字、下划线、以及没有特殊定义的标点符号,都是普通字符。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。字符可以组成最简单的正则表达式,用于匹配与其相同的字符串。
● 元字符
元字符是在正则表达式中含有特殊意义的字符,其与普通字符相对应。元字符通常由标点符号开始由一个或多个标点符号与字符组成。常用的元字符如表4-7所示。
表4-7 正则表达式中的元字符
元字符 | 描述 |
^尖号 | 匹配字符串开始的部分,即索引号为0的字符。 |
$美元符号 | 匹配字符串结尾的部分,即索引号为-1的字符 |
\反斜杠 | 对特殊字符进行转义(关于转义,请参考本节之后匹配字符的相关章节) |
.点 | 匹配任意单个字符。如为正则表达式使用了dotall属性,则匹配换行符 |
*星号 | 匹配前面重复0次或多次的项目 |
+加号 | 匹配前面重复1次或多次的项目 |
?问号 | 匹配前面重复0次或1次的项目 |
()括号 | 定义组项目,可限制逻辑“或”字符、数量表示符等的范围 |
[]中括号 | 和,用多个条件匹配一个字符或一组字符 |
|竖线 | 逻辑或操作,匹配竖线左侧或右侧的部分 |
]右中括号 | 定义字符类的结尾 |
-破折号 | 定义字符的范围 |
\反斜杠 | 定义元序列并撤消元字符的转义 |
{n}数量符号 | 指定前一项目的重复次数 |
{n,}数量上限 | 指定前一项目的重复最小次数到无限多次 |
{n,n}数量范围 | 指定前一项目的重复最小次数和最大次数。 |
● 非打印符号
非打印符号的作用是表示字符串对象中的各种特殊符号,以及某些范围性的符号。在匹配字符串的正则表达式中,编译程序并不会将斜杠“\”作为转义符处理,而是作为非打印字符的识别符号,常用的非打印符号如表4-8所示。
表4-8 常用非打印符号
转义字符 | 说明 | 转义字符 | 说明 |
\b | 匹配单词字符和非单词字符之间的位置 | \B | 匹配任意两个字符之间的位置 |
\d | 匹配十进制数字 | \D | 匹配除数字外任何字符 |
\f | 匹配换页符 | \n | 匹配换行符 |
\r | 匹配回车符 | \s | 匹配任意空白字符 |
\S | 匹配除空白字符外任意字符 | \t | 匹配制表符 |
\v | 匹配垂直分页符 | \w | 匹配单词字符(包括大小写英文字母、数字和下划线) |
\W | 匹配除单词字符外的任意字符 | \^ | 尖号“^” |
\$ | 美元号“$” | \(和\) | 小括号“()” |
\[和\] | 中括号“[]” | \{和\} | 大括号“{}” |
\. | 点“.” | \? | 问号“?” |
\+ | 加号“+” | \* | 乘号或星号“*” |
\| | 竖线“|” | \\ | 斜杠“\” |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论