操作符
直接操作符
| 类别 | 匹配类型 | 匹配字符 |
|---|
| Cat | 字符串Cat,属于串联 | Cat,不能匹配Cata |
| C | 字符C | C |
任意类型
| 类别 | 匹配类型 | 匹配字符 |
|---|
| . | 匹配所有类型字符,除了newline和null | 所有字符 |
重复操作符
| 类别 | 匹配类型 |
|---|
| * | 匹配前一个元素0次或多次 |
| + | 匹配前一个元素1次或多次 |
| ? | 匹配前一个元素0次或1次 |
间隔操作符
| 类别 | 匹配类型 |
|---|
| {count} | 匹配前一个元素count次 |
| {min,} | 匹配前一个元素至少min次 |
| {min,max} | 匹配前一个元素至少min次,至多max次 |
或操作符
列表操作符
列表操作符([...] and [^...]):
一般操作符在列表操作符会失去意义,除了以下:
| 类别 | 匹配类型 |
|---|
| ] | 结束列表 []] |
| \ | 转义字符 |
| [: | 字符类别操作符开始 |
| :] | 字符类别操作符结束 |
| - | 范围操作符 0-9a-zA-Z |
字符类别操作符
| 类别 | 匹配类型 | 匹配字符 |
|---|
| [:alnum:] | [A-Za-z0-9] | 数字和字母 |
| [:alpha:] | [A-Za-z] | 字母字符 |
| [:blank:] | [\t] | 空格和TAB |
| [:cntrl:] | [\x00-\x1F\x7F] | 控制符 |
| [:digit:] | [0-9] | 数字 |
| [:graph:] | [\x21-\x7E] | 可视字符 |
| [:lower:] | [a-z] | 小写字母字符 |
| [:print:] | [\x20-\x7E] | 可视字符和空格 |
| [:punct:] | ][!"#$%&'()*+,./:;<=>?@^_`{|}~-] | 标点符号 |
| [:space:] | [\t\r\n\v\f] | 空白字符 |
| [:upper:] | [A-Z] | 大写字母字符 |
| [:xdigit:] | [A-Fa-f0-9] | 十六进制字符 |
特殊字符类别操作符
| 类别 | 匹配类型 | 匹配字符 |
|---|
| \w | [:alnum:] | 数字和字母 |
| \d | [:digit:] | 数字 |
| \W | [^[:alnum:]] | 除了数字和字母 |
| \B | [^[:digit:]] | 除了数字 |
| < | 匹配字符串的开头 |
| > | $ | 匹配字符串的结尾 |
| \b | 匹配单词边界字符,to\b匹配to!但不匹配tommorew | |