Regular expression in R

Regular expression index in R

Regular expressionTypeMeans
\\metacharacter(元字符)\
\\ |metacharacter(元字符) |
\\(metacharacter(元字符)(
\\)metacharacter(元字符))
\\[metacharacter(元字符)[
\\]metacharacter(元字符)]
\\{metacharacter(元字符){
\\}metacharacter(元字符)}
\\^metacharacter(元字符)^
\\$metacharacter(元字符)$
\\*metacharacter(元字符)*
\\+metacharacter(元字符)+
\\?metacharacter(元字符)?
\nEscape Sequence转义字符串newline
\rEscape Sequence转义字符串carriage return
\tEscape Sequence转义字符串tab
\bEscape Sequence转义字符串backspace
\aEscape Sequence转义字符串alert (bell)
\fEscape Sequence转义字符串form feed
\vEscape Sequence转义字符串vertical tab
\\Escape Sequence转义字符串backslash ‘\’
\’Escape Sequence转义字符串ASCII apostrophe ”’
\”Escape Sequence转义字符串ASCII quotation mark ‘”‘
\`Escape Sequence转义字符串ASCII grave accent (backtick) ‘`’
\nnnEscape Sequence转义字符串character with given octal code (1, 2 or 3 digits)
\xnnEscape Sequence转义字符串character with given hex code (1 or 2 hex digits)
\unnnnEscape Sequence转义字符串Unicode character with given code (1-4 hex digits)
\UnnnnnnnnEscape 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 使用的正则表达式