原义表达式

自己代表的就是自己

  1. > mystring1 <- c('apple','orange')
  2. > grep('p', mystring1)
  3. [1] 1

转义

代表的不是自己

  • . 表示任意字符
  1. mystring2 <- c('shuda','.dfs','-dsfd')
  2. grep('.',mystring2)
  • [1-9] 表示1到9
  1. > mystring3 <- c('9anv','fss7','1000','ss7')
  2. > grep('[0-1]',mystring3)
  3. [1] 3
  • ^ 表示是以开头
  1. > mystring3 <- c('9anv','fss7','1000','ss7')
  2. > grep('[0-1]',mystring3)
  3. [1] 3
  • []表示从里取值,[]里有^表示不取[]的值
  • [^1-9]表示不是以1到9开头
  1. mystring3 <- c('9anv','fss7','3000','ss7')
  2. grep('[^0-1]',mystring3)
  • {2,3}表示前面的正则表达式重复2-3次
  1. > mystring6 <- c('1220','2289','2228','10002')
  2. > grep('2{2,}',mystring6)
  3. [1] 1 2 3
  • ()表示括号内为一个整体
  1. > mystring7 <-c('food','foot','foul','faons',"old")
  2. > grep('fo{1,}',mystring7)
  3. [1] 1 2 3
  4. > grep('(fo){1,}',mystring7)
  5. [1] 1 2 3
  6. > grep('o{1,}',mystring7)
  7. [1] 1 2 3 4 5
  • *表示0-n,+表示1-n,?表示0-1
  • |管道符 或者
  1. > mystring8 <- c('kobe','messi','neymar')
  2. > grep('^k|^m',mystring8)
  3. [1] 1 2
  • $表以什么结尾,\b表示边界,前面后面后可
  1. > mystring9 <- c('active','positive','neagtive','iention')
  2. > grep('ive$', mystring9)
  3. [1] 1 2 3
  4. > grep('ive\\b', mystring9)
  5. [1] 1 2 3
  • 保义字符 ,让有转义的字符保留本身
  1. > mysting10 <- c('ac^bb','^df')
  2. > grep('\\^', mysting10)
  3. [1] 1 2
  1. \\d = [0-9] 匹配数字,只要有就出现
  2. \\D = [^0-9] 匹配非数字
  3. \\s 空白字符,空白字符是指在屏幕上不会显示出来的字符(如:空格、制表符tab、回车换行等),空字符就没有''
  4. \\S 非空白字符 ,除空白字符和空字符
  5. ‘’是空字符 非空字符指‘’以外的其他字符,
  6. \\w =[a-zA-Z0-9] 字母和数字
  7. \\W = [^a-zA-Z0-9]非字母和数字
  8. \\b 匹配边界
  9. \\B 匹配非边界
  10. \\< 匹配以空白字符开始的文本
  11. \\>匹配以空白字符结束的文本

f

  1. > mystring11 <- c('2013','abcd','13sg')
  2. > grep('\\d', mystring11)
  3. [1] 1 3
  4. > grep('\\D', mystring11)
  5. [1] 2 3
  6. > mystring12 <- c('', ' able', ' moth er','happy',‘ ’)
  7. > grep('\\s', mystring12)
  8. [1] 2 3 #有空白字符才会返回,‘’没有字符不是空字符
  9. > grep('\\S', mystring12) #非空白字符才会被返回,只有‘’是空字符非空白字符
  10. [1] 2 3 4
  11. > mystring12 <- c('', ' able', ' moth er','happy',' ')
  12. > grep('\\s', mystring12)
  13. [1] 2 3 5 #有空白字符才会返回,‘’没有字符不是空字符
  14. > grep('\\S', mystring12)
  15. [1] 2 3 4 #非空白字符才会被返回,只有‘’是空字符非空白字符
  16. > mystrinf13 <- c('theory', 'the republic', ' the ',"they"," they ")
  17. > grep('\\<the\\>',mystrinf13) #the
  18. [1] 2 3