大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 " (单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。
例如,分析其将星号(*)视为重复限定符,而将后跟星号的反斜杠("*)视为Unicode字符 002A。
使用一般表达式要习惯的一点是,察看像这样怪异的字符序列,但这个序列的工作非常逻辑化的。专业序列 "S表示任何不适空白的字符。* 称为数量词,其含义是前面的字符可以重复任意次,包括0次。序列 "S*表示任何不适空白的字符。
特定字符或转义序列 | 含义 | 样例 | 匹配的样例 |
^ | 输入文本的开头 | ^B | B但只能是文本中的第一个字符 |
$ | 输入文本的结尾 | X$ | X但只能是文本中的最后一个字符 |
. | 除了换行字符("n)以外的所有单个字符 | i.ation | isation 、ization |
* | 可以重复0次或多次的前导字符 | ra*t | rat、raat等 |
+ | 可以重复1次或多次的前导字符 | ra+1 | rt、rat、raat等 |
? | 可以重复0次或1次的前导字符 | ra?1 | 只有rt和rat匹配 |
"s | 任何空白字符 | "sa | [space]a, "ta,"na("t和"n与C#的"t和"n含义相同) |
"S | 任何不是空白的字符 | "SF | aF,rFcF,但不能是 "tF |
"b | 字边界 | ion"b | 以ion结尾的任何字 |
"B | 不是字边界 | "BX"B | 自中间的任何X |
如果要搜索一个元字符,也可以通过带有反斜杠的转义字符来表示。例如
.表示除了换行字符以外的任何字符。而 ". 表示一个点。
如果要搜索一个整数(该序列只包含0-9的字符),就可以编写"[0-9]+",(注意使用(+)表示至少要有这样一个数字。)
例如 string pattern = @""ba"S*ion"b" 表示以a开头,ion结尾的字符了!