R语言之——正则表达式

来源:互联网 发布:国家网络信息发布管理 编辑:程序博客网 时间:2024/04/29 19:11

定义

正则表达式是对字符串操作的一种逻辑公式。

作用对象

正则表达式的作用对象是文本

作用

*逻辑过滤
*精准抓取

特点

  1. 灵活性、逻辑性和功能性非常强
  2. 可以迅速地、用极简单的方式达到字符串的复杂控制

语法规则

\ 转义字符
. 除了换行以外的任意字符
^ 放在句首,表示一行字符串的起始
$ 放在句尾,表示一行字符串的结束
* 零个或者多个之前的字符
+ 一个或者多个之前的字符
? 零个或者一个之前的字符

方括号[],代表可以匹配其中任何一个字符。而^在[]中代表“非”, -代表“之间”
– [qjk]:q,j,k中任意一个字符
– [^qjk]:非q,j,k的任意其它字符
– [a-z]:a至z中任意一个小写字符
– [^a-z]: 非任意一个a至z小写字符的其它字符(可以是大写字符)
– [a-zA-Z]:任意一个英文字母
– [a-z]+: 一个或者多个小写英文字母

| 或者
小括号()与花括号{}配合“|”使用
特别注意:保留字符都需要转义字符 \ 来转义表示
例如:
常用的特殊转义字符含义
 \n:换行符
 \t:tab
 \w:任意字母(包括下划线)或者数字 即 [a-zA-Z0-9_]
 \W:\w的反义 即[^a-zA-Z0-9_]
 \d:任意一个数字 即[0-9]
 \D:\d的反义 即[^0-9]
 \s:任意一个空格,比如space, tab, newline 等
 \S:\s的反义,任意一个非空格

正则表达式的常用函数

 grepl:返回一个逻辑值
 grep:返回匹配的id,
 agrep:返回匹配的id,
 正则替换:sub和gsub
两者的区别如下

# 将b替换为Bgsub(pattern = "b", replacement = "B", x = "baby")[1] "BaBy"gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))[1] "aBcB" "Boy"  "BaBy"# 只替换第一个bsub(pattern = "b", replacement = "B", x = "baby")[1] "Baby"sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))[1] "aBcb" "Baby"

 regexpr:返回一个数字,1表示匹配,-1表示不匹配,以及两个属性,匹配 的长度和是否使用useBytes
 regexec:返回一个list,字符串中第一个匹配及其长度以及是否使用useBytes
 gregexpr:返回一个list, 每一个匹配及其长度以及是否使用useBytes

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝贝破损买家退回运费很高怎么办 信而富额度变0了怎么办 申请淘京猫代理时资料填错了怎么办 苹果手机能上网但微信不能用怎么办 卧室壁纸贴的太花了怎么办 贴完墙纸接头处看着是黑色的怎么办 把所有内容放在一张纸上怎么办 孩子脸上被蚊香烧了留下了疤怎么办 微信怎么修改支付密码忘了怎么办 去网鱼网咖上网没带身份证怎么办 淘宝买家号忘了账号和密码怎么办 80多岁的老人前列腺疼怎么办啊 新浪微博发二维码让我入群我怎么办 队友送的太崩了打野应该怎么办 该商品不支持在当前地区销售怎么办 此商品不支持在当前地区销售怎么办 村淘商品在淘宝没展现怎么办 qq音乐不小心充了会员怎么办 古奇的包五金磨掉色了怎么办 淘宝购物津贴买的东西退款怎么办 淘宝买的东西质量太差怎么办 咸鱼上买的东西有问题怎么办 咸鱼买到的东西有问题怎么办 天猫超市买的东西有问题怎么办 满白天的宝宝睡觉总哭怎么办 京东退货显示在售后检测要怎么办 装修公司定金交了公司关门怎么办 背冷、腰泠、屁股冷、大腿冷怎么办 买家退款把卖家地址写错了怎么办 退款编号写错了提交了怎么办 京东购物收到货第二天搞活动怎么办 玩王者荣耀来电话断网怎么办 苹果7p玩王者荣耀卡怎么办 手机丢了隐私空间里面的照片怎么办 微信内存满了打不开了怎么办 u盘内存满了打不开了怎么办 清算组出的报告书无法清算怎么办 手机停机了收不到快递取件码怎么办 买东西货到了不小心确认收货怎么办 不小心用了蚂蚁花呗怎么办 q微店忘记密码怎么办微忘记密