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