-
括号
[]
{}
()
- 匹配次数符号
问号?
表示0次或者是1次,因为这是一个生存或是毁灭的问题
加号+
表示1次或者多次,把加号和1联系起来,用医(1)院来记忆
星号*
表示0次或者多次,把星号和零联系起来,用零(0)星来记忆
这样我们就得到了六种表示重复次数的方法
- 转义
这个有点特别,有没有想过,如果一个字符串出现以下的符号,该怎么匹配
'
*
?
+
|
这些字符我们都已经碰到过,他们比较特别,因为他们除了字符串本身外,还有其他意义,称为元字符。正常情况下出现的时候都是特殊意义,如果想要他代表字符本身的意思,比如点号.就代表点号,就需要给他转义,转义的符号是斜杠\,那么点号就应该写作.。
但是,说话就怕但是,这里的斜杠\也属于元字符,需要另外一个斜杠来转义,那么在R语言中,如果想要表示匹配点号本身,就应该是这个样子的\.,也就是说R语言里面的转义是两个斜杠\, \在R语言中算一个字符。
那么如果特殊一点我要匹配一对括号怎么办?括号也是元字符,那就得转义\(\)
如果要匹配两个//,那就应该写成\/\/,十分有趣吧?
- 提取括号里面的内容且不要括号
library(stringr)
string1 = GPL23159_anno1$name
GPL23159_anno1$name<-str_extract(string1,"(?<=\\().+?(?=\\))")