正则表达式的功能主要取决于模式字符串。原因是模式字符串不仅仅包含纯文本,它还可以包含原义字符和转义序列,其中原义字符用于给出命令的特定字符,而转义字符都是以反斜杠\开头的字符,它们具有特殊的含义。
字符转义
.NET 中正则表达式支持的字符转义。
符号 | 含义 | 示例 | 匹配的示例 |
^ | 输入文本的文本 | ^B | B,但只能是文本中的第一个字符 |
$ | 输入文本的结尾 | X$ | X,但只能是文本中的最后一个字符 |
. | 除了换行字符(\n)以外的所有单个字符 | i.ation | isation和ization等 |
* | 可以重复0次或多次的前导字符 | ra*t | rt,rat,raat和raaat等 |
+ | 可以重复1次或多次的前导字符 | ra+t | rat,raat和raaat等(但不能是rt) |
? | 可以重复0次或1次的前导字符 | ra?t | 只有rt和rat匹配 |
\s | 任何空白字符 | \sa | [space]a、\ta和\na等(\t和\n与C#的\t和n含义相同) |
\S | 任何不是空白的字符 | \SF | aF、rF和cF等,但不能是\tf |
\b | 字边界 | ion\b | 以icon结尾的任何字 |
\B | 不是字边界的位置 | \BX\B | 字中间的任何X |