C# 正则表达式 匹配单个字符
在了解了正则表达式的组成之后,开发者可以自行结合正则表达式的组成,尝试编写一些简单的正则表达式规则,以供日后验证字符串使用。
正则表达式可以匹配任意的字符串型变量,既包括匹配只包含一个字符引用的字符串,也可以匹配包含多个字符引用的字符串,以及匹配包含指定数量字符引用的字符串。
● 匹配普通字符
在匹配一个单独的字符时,可以使用中括号将将其括住,表示中括号中的正则表达式用于识别一个独立的字符。例如,匹配只包含字母ABCD的字符串,可以将中括号括住ABCD等4个大写字母,如下所示。
[ABCD]
如需要匹配的字符数量较多,且带有一定的连续性,则可以使用破折号“-”将连续字符省略除开头和末尾以外其他的字符。例如,匹配包含字母a到s之间的小写字母,如下所示。
[a-s]
在进行匹配时,如果需要匹配ASCII符号,则可以使用“\x”的方式标识其后的两位16进制数字为ASCII编号。而如需要匹配Unicode符号,则可以使用“\u”的方式标识其后的4位16进制数字为Unicode编号。在下表中,就总结了常用的5种正则表达式匹配规则,如表4-9所示。
表4-9 常用的正则表达式匹配规则
规则名 | 正则表达式 |
匹配小写英文字母 | a-z |
匹配大写英文字母 | A-Z |
匹配所有大小写字母 | \x41-\x5A或a-zA-Z | 正则匹配特定字符串
匹配数字 | 0-9 |
匹配所有字母与数字 | a-zA-Z0-9或\x41-\x5A0-9 |
匹配Unicode汉字 | \u4e00-\u9fa5 |
● 匹配半角标点符号
通过转义符或ASCII码等正则表达式的组成部分,判断各种半角符号是否符合正则表达式的要求。在正则表达式中匹配各种标点符号,可以通过转义符来进行,也可以通过标点符号的ASCII码来进行。
通过转义符匹配标点符号,只需要以斜杠“\”和标点符号作为正则表达式的匹配项即可,例如,尖号“^”可以使用斜杠加尖号“\^”,左中括号“[”可以使用斜杠加左中括号“\[”等。
使用ASCII码匹配标点符号,则需要通过ASCII码表中标点符号的ASCII码来匹配。例如,井号“#”的ASCII码为23,则其匹配的正则表达式为“\x23”等。常用的标点符号ASCII码如表4-10所示。
表4-10 常用符号ASCII编码表
符号 | ASCII码 | 符号 | ASCII码 | 符号 | ASCII码 | 符号 | ASCII码 |
空格 | 20 | ! | 21 | " | 22 | # | 23 |
$ | 24 | % | 25 | & | 26 | ' | 27 |
( | 28 | ) | 29 | * | 2A | + | 2B |
, | 2C | - | 2D | . | 2E | / | 2F |
: | 3A | ; | 3B | < | 3C | = | 3D |
> | 3E | ? | 3F | @ | 40 | [ | 5B |
\ | 5C | ] | 5D | ^ | 5E | _ | 5F |
` | 60 | { | 7B | | | 7C | } | 7D |
~ | 7E | ||||||
例如,匹配字符串是否包含“@”符号时,可以使用\x标识2位16进制数字40实现,如下所示。
\x40
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论