当用到编程语言中的字符串操作函数时,有时会涉及“正则表达式”这个概念。在R语言里,当使用字符串函数grep()、grepl()、regexpr()、gregexpr()、sub()、gsub()和strsplit()时,尤其需要注意。
正则表达式是一种通配符,它是用来描述一系列字符串的简略表达式。
“[au]”表示的是含有字母a或u的字符串。
> grep( "[au]", c( "Equator","North Pole", "South Pole" ) )
[1] 1 3
英文句点(.)表示任意一个字符。句点是元字符的一个例子。元字符是指不按照字面意思理解的字符。
> grep( "o.e", c( "Equator","North Pole", "South Pole" ) )
[1] 2 3
> grep( "N..t", c( "Equator","North Pole", "South Pole" ) )
[1] 2
可以用反斜杠脱离句点的元字符属性。
> grep( "\\.", c( "abc","def", "g.h" ) )
[1] 3
注:反斜杠本身也是元字符,所以应该用两个反斜杠。