正则表达式(Regular Expression) REGEX

A formal language for specifying text strings

正则表达式为文本模式的匹配提供了一套 清晰而简练的语法,在处理字符函数时,提供了简单快捷的方法,也这扩展了搜索特定位文本以进行搜索的想法,一些可能适合更广泛模式的文本。

例如,正则表达式: 

^[hc]?at

则可匹配任意以0个或1个h或c开头、后接at的字符串。因此,此表达式可以匹配hat、cat和at,但 不会匹配bat。 

正则表达式可以用形式化语言理论的方式来表达。正则表达式由常量和算子组成,它 们分别指示字符串的集合和在这些集合上的运算。 正则表达式可以被认为是文字和文字的组合,元字符。因此,为了对自然语言进行类比,请考虑文字文本形成语言的单词和定义其语法的元字符。

不同语言中有不同的实现 ,正则表达式具有丰富的元字符允许我们通过字符串搜索来识别特定的感兴趣模式,具体 可以看一下连接:

regex在不同语言的用法区别

REGEX的运用领域极为广泛,常见:

(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。

(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。

(3)用来替换,比普通的替换更强大。

 

在末尾再提供一些有用的字符处理函数:

nchar(x)计算x中的字符数量 x <- c("ab", "cde",  "fghij") length(x)返回值为 3 : nchar(x[3])返回值为5 
substr(x, start, stop) 提取或替换一个字符向量中的子串 
grep(pattern, x, ignore. case=FALSE, fixed=FALSE) 在x中搜索某种模式。若fixed=FALSE,则pattern为一个正 则表达式。若fixed=TRUE,则pattern为一个文本字符串。 返回值为匹配的下标 
sub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE)在x中搜索pattern,并以文本replacement将其替换。若 fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE, 则pattern为一个文本字符串 
strsplit(x, split, fixed=FALSE) 在split处分割字符向量x中的元素。若fixed=FALSE,则 pattern为一个正则表达式。若fixed=TRUE,则pattern为 一个文本字符串 
paste(…, sep="") 连接字符串,分隔符为sep 
toupper(x) 大写转换 
tolower(x) 小写转换 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值