R语言中的正则表达式

Python023

R语言中的正则表达式,第1张

p匹配的是它自己,这就是原义表达式。

本来只想匹配 . ,但是在这里这个点代表了所有字符,于是返回了1 2 3。这个. 就是一个转义表达式。

分别提取含7-9的数字或3-4的数字的字符串

^XX就是以XX开头意思

当^放在方括号内是取非的意思

2{2,3}是寻找2倍重复了2到3次的意思

2{2,}是寻找2倍重复了大于2次(2到+无穷)的意思

fo+表示+紧跟着的o可以被重复1次或1次以上

大括号也可以起到这样的作用

若想让紧跟在o后面的对fo都起作用,需要小括号

与+用法一致。+表示重复了1次或1次以上,*表示0次或0次以上。

.* 可以匹配任意字符

管道符连接前后,符合其一即会被返回

\\b也可以起到一样的作用,但\\b更灵活,既可以放开头也可以放结尾。(\\b主要是匹配边界)

\的作用就是说明^不是开头的意思,是要去匹配这个符号

对所有的转义符号都适用

grep()能对向量中特定条件的元素进行查询,默认return为index。grep()语法与grep()大致相似,但默认return为logical。

默认情况下是匹配尽可能多的字符,是为贪婪匹配,比如sub("a. b","",c("aabab","eabbe")),默认匹配最长的a开头b结尾的字串,也就是整个字符串。如果要进行懒惰匹配,也就是匹配最短的字串,只需要在后面加个“?”,比如sub("a. ?b","",c("aabab","eabbe")),就会匹配最开始找到的最短的a开头b结尾的字串。