你好,游客 登录 注册 搜索
背景:
阅读新闻

R语言之——正则表达式

[日期:2015-03-26] 来源:CSDN博客  作者:cwjy1202 [字体: ]

    定义

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

    作用对象

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

    作用

    *逻辑过滤
    *精准抓取

    特点

  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替换为B
gsub(pattern = "b", replacement = "B", x = "baby")
[1] "BaBy"

gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))
[1] "aBcB" "Boy"  "BaBy"

# 只替换第一个b
sub(pattern = "b", replacement = "B", x = "baby")
[1] "Baby"

sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))
[1] "aBcb" "Baby"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (3)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款