Regular expression index in R
Regular expression | Type | Means |
\\ | metacharacter(元字符) | \ |
\\ | | metacharacter(元字符) | | |
\\( | metacharacter(元字符) | ( |
\\) | metacharacter(元字符) | ) |
\\[ | metacharacter(元字符) | [ |
\\] | metacharacter(元字符) | ] |
\\{ | metacharacter(元字符) | { |
\\} | metacharacter(元字符) | } |
\\^ | metacharacter(元字符) | ^ |
\\$ | metacharacter(元字符) | $ |
\\* | metacharacter(元字符) | * |
\\+ | metacharacter(元字符) | + |
\\? | metacharacter(元字符) | ? |
\n | Escape Sequence转义字符串 | newline |
\r | Escape Sequence转义字符串 | carriage return |
\t | Escape Sequence转义字符串 | tab |
\b | Escape Sequence转义字符串 | backspace |
\a | Escape Sequence转义字符串 | alert (bell) |
\f | Escape Sequence转义字符串 | form feed |
\v | Escape Sequence转义字符串 | vertical tab |
\\ | Escape Sequence转义字符串 | backslash ‘\’ |
\’ | Escape Sequence转义字符串 | ASCII apostrophe ”’ |
\” | Escape Sequence转义字符串 | ASCII quotation mark ‘”‘ |
\` | Escape Sequence转义字符串 | ASCII grave accent (backtick) ‘`’ |
\nnn | Escape Sequence转义字符串 | character with given octal code (1, 2 or 3 digits) |
\xnn | Escape Sequence转义字符串 | character with given hex code (1 or 2 hex digits) |
\unnnn | Escape Sequence转义字符串 | Unicode character with given code (1-4 hex digits) |
\Unnnnnnnn | Escape Sequence转义字符串 | Unicode character with given code (1-8 hex digits) |
[Tt]he | 字符组(Character Classes) | 表示无论是 The 还是 the 都符合要求, 忽略大小写 |
[a-z]at | 字符组(Character Classes) | 从a到z, aat, bat, cat, …, zat 都符合要求 |
[^c]at | 字符组(Character Classes) | 后两个字母是 at, 但首字母不是 c 的长度为3字符串 |
at. | 字符组(Character Classes) | 所有长度为三个字母,前面两个字母是 at 的字符串 |
at[.] | 字符组(Character Classes) | 只有当一个长度为三的字符串为 “at.” 才符合要求 |
[:digit:] | 字符组名称class name | 数字,”0″ “1” “2” “3” “4” “5” “6” “7” “8” “9” |
[:xdigit:] | 字符组名称class name | 十六进制数字 |
[:lower:] | 字符组名称class name | 小写字母 |
[:upper:] | 字符组名称class name | 大写字母 |
[:blank:] | 字符组名称class name | 空白字符,”\t” ” “ |
[:space:] | 字符组名称class name | 间隔字符,”\t” “\n” “\v” “\f” “\r” ” “ |
[:punct:] | 字符组名称class name | 标点符号 |
[:cntrl:] | 字符组名称class name | 控制字符 |
[:alpha:] | 字符组名称class name | 字母,[:lower:]+[:upper:] |
[:alnum:] | 字符组名称class name | 文字数字式字符[:alpha:]+[:digit:] |
[:graph:] | 字符组名称class name | 图形字符 = [:punct:] + [:alnum:] |
[:print:] | 字符组名称class name | 可打印字符 = [:graph:] + [:space:] |
\\d | 序列(sequences) | 数字型字符 = [[:digit:]] |
\\D | 序列(sequences) | 非数字型字符 = [^[:digit:]] |
\\s | 序列(sequences) | 间隔字符 = [[:space:]] |
\\S | 序列(sequences) | 非间隔字符 = [^[:space:] |
\\w | 序列(sequences) | 单词型字符 = [[:alnum:]_] 文字数字式字符 + _ |
\\W | 序列(sequences) | |
\\< | 序列(sequences) | 用于匹配单词左侧边界的长度为零的字符串 |
\\> | 序列(sequences) | 用于匹配单词右侧边界的长度为零的字符串 |
\\b | 序列(sequences) | 用于匹配单词左右两侧长度为零的字符串 |
\\B | 序列(sequences) | 用于匹配不出与单词边界的长度为零的字符串 |
^ | 锚点(Anchors) | “^[Tt]he” 表示在文本串起试阶段出现了 The 或者 the |
$ | 锚点(Anchors) | $ 用于匹配每一行结尾的空白字符 |
| | 析取(alternation) | 例如 “cat|sat” 表示包含子字符串 cat 或 sat 的字符串都符合要求 |
? | 重复(repetitions) | 表示其前面项目不存在或只能存在一次 |
* | 重复(repetitions) | * 表示其前面的项目可以被匹配零次或更多次。例如 “m*t” 表示字符串中 m 可以出现可以出现也可以不出现,但是 t 必须出现 |
+ | 重复(repetitions) | 表示其前面的项目将被匹配一次或更多次。例如 “m+.t 表示 m 必须出现至少一次,然后是任何一个字符,再然后是 t |
{n} | 重复(repetitions) | 表示其前面的项目将仅被匹配 n 次。例如,”m{2}.t” 表示 m 出现两次、然后是任意一个字符,然后是 t |
{n, } | 重复(repetitions) | 表示其前面的项目将被匹配 n 次或更多次 |
() | 模式(grouping) | (c|s)at 表示:字符串中应包含字符 c 或 s,随后是两个字符 at。 “(.at)+” 表示长度为三,后两个字母为 at 的字符串可以重复一次或多次 |
Reference:
Likan, R 使用的正则表达式