R中的正则表达式

R中有两种形式的正则表达式:扩展的和Perl风格的。在部分函数中允许通过fixed=TRUE和perl=TRUE来选择是否使用正则表达式并在perl风格和扩展风格中选择,这些函数包括:grep, grep1, sub, gsub, regexpr, gregexpr, regexec, strsplit等。还有部分函数仅允许使用扩展的正则表达式,如apropos, browseEnv, help.search, list.files和ls。


1.扩展正则表达式

实现POSIX 1003.2标准。特殊字符包括:\ | ( ) [ { ^ $ * + ? ,  黑底 的字符包括:

\a  BEL

\e ESC

\f FF

\n LF

\r CR

\t TAB

字符类是包含在[和]之间的字符列表,表示匹配这些字符列表中的任何一个,而[^ ]表示排除这些字符列表中的任何一个。可以通过短线来表示一个范围之间的列表,但要注意这种表达方式受到实现的影响结果可能并不相同的。还有一些预定义的字符类,以下是POSIX风格的预定义字符类:

[:alumn:]  字母与数字,[:alpha:]和[:digit:]

[:alpha:] 所有字母,[:lower:]和[:upper:]

[:blank:] 空白,空格和TAB

[:cntrl:] 控制字符,即ASCII字符集的第000到037和177号字符

[:digit:] 数字

[:graph:] 图形符号,[:alumn:]和[:punct:]

[:lower:] 小写符号

[:print:] 可打印符号 [:alumn:], [:punct:]和空格键

[:punct:] 标点符号, ! " # $ % ^ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ 

[:space:] 空格符, tab, 换行, 竖直TAB, 空格, 回车,表单

[:upper:] 大写字符

[:xdigit:] 16进制数字


. 匹配任意字符

\w 匹配一个字符

\W 匹配一个非字符

\d 匹配一个数字字符

\D 匹配一个非数字

\s 匹配一个空白字符

\S 匹配一个非空白符


重复匹配符号

? 最多一次

* 零或多次

+ 至少一次

{n}  匹配n次

{n, } 至少匹配n次

{n, m} 匹配n到m次


连接匹配

|  用来连接两个表达式,表示任意一个匹配


转义\N (N=1 - 9)表示前一个匹配的第N个子串。


2. perl风格的正则表达式

参考http://www.p


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值