元字符有自己的特殊含义

  • [ ]内的任意字符将被匹配
grep(pattern = "[wW]", x = states, value = T)
grep(pattern = "w", ignore.case = T, x = states, value = T)
  • \对元字符进行转义
strsplit("strsplit.also.uses", split = ".")
strsplit("strsplit.also.uses", split = "\\.")
str_extract_all("me credit card: 334", pattern = "\\d")
  • ^匹配字符串的开头,将^置于character class 的首位表达的意思是取反义。如[ˆ5] 表示匹配除了“5” 以外的所有字符。
test_vector <- c("123","456","321")
str_extract_all(test_vector, "3")
str_extract_all(test_vector, "^3")
str_extract_all(test_vector, "[^3]")
  • $匹配字符串的结尾。但将它置于character class 内则消除了它的特殊含义。如 [akm$]将匹配 a , k , m 或者 $
str_extract_all(test_vector, "3$")
str_extract_all(test_vector, "[3$]")
  • .匹配除换行符以外的任意字符。
str_extract_all(string = c("regular.exp\n","\n"), pattern =".")
  • | 或者
str_extract_all(string = "we23", pattern ="b|w|3")
  • ?此符号前的字符(组) 是可有可无的,并且最多被匹配一次
str_extract_all(string = c("abc","bc","ac"),pattern = "ab?c")

  • ( )表示一个字符组,括号内的字符串将作为一个整体被匹配
str_extract_all(string = c("abc","ac","cde"),pattern = "(ab)c")
  • *此符号前的字符(组) 将被匹配零次或多次
str_extract_all(string = c("abab","abc","ac"),pattern = "(ab)*")
  • +前面的字符(组) 将被匹配一次或多次
str_extract_all(string = c("abbab","abc","ac"),pattern = "ab+")
  • {n,m} 重复n次到m次
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2}")
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2,}")
str_extract_all(string = c("abababab","ababc","abc"),pattern = "(ab){2,3}")

R语言学习笔记(二十一):字符串处理中的元字符(代码展示)的更多相关文章

  1. R语言学习笔记(十一):零碎知识点(26-30)

    26--aggregate( ) 函数aggregate()对分组中的每一个变量调用tapply()函数. aggregate(a,list,f) 第二个参数必须是列表.也就是因子部分. 第三个参数即 ...

  2. R语言学习笔记:怎么从txt中读入数据

    1   从该链接中下载测试数据,http://pan.baidu.com/share/link?shareid=3322971616&uk=3862050759   2   把测试文件Anal ...

  3. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  4. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

  5. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  6. R语言学习笔记(二十二):字符串处理中的函数对比(代码实现)

    字符串处理中基本函数的使用 R自带函数与stringr包函数对比 > states <- row.names(USArrests) > # 提取字符串子集 > substr(x ...

  7. R语言学习笔记(二)

    今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...

  8. R语言学习笔记:字符串处理

    想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...

  9. R语言学习笔记(二十一五):如何如何提升R语言运算的性能以及速度

    在R中获得快速运行代码的方法 使用向量化运算 R语言的并行计算可以用parallel和foreach包 加快R运行速度还可以使用cmpfun()函数即字节码编译器 再者就是在R中调用C或C++ 同时还 ...

  10. R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...

随机推荐

  1. linux 链接命令

    ln link /bin/ln -s 创建软链接ln -s [原文件] [链接文件] 软链接 ln -s /etc/issue /tmp/issue.soft硬链接ln /etc/issue /tmp ...

  2. hornor8改user模式为debug模式

    在学习Android软件安全的过程中,经常要用到Android的动态调试.但是呢,一般的Android应用在发布的时候都是发布版的不能直接被调试,为了能使Android应用能够支持调试就需要对Andr ...

  3. null的专栏:https://blog.csdn.net/google19890102

    null的专栏:https://blog.csdn.net/google19890102 csdn博客专栏:https://blog.csdn.net/column.html

  4. 12.Spring——Web MVC框架

    1.Spring Web MVC 框架 2.Spring MVC Hello World 例子 1.Spring Web MVC 框架 Spring web         MVC 框架提供了模型-视 ...

  5. ExpressRoute 合作伙伴和对等位置

    本文中的表格提供有关 ExpressRoute 连接提供商.ExpressRoute 地理覆盖范围.通过 ExpressRoute 支持的 Azure 服务以及 ExpressRoute 系统集成商 ...

  6. 微信网页IOS上传图片旋转解决方案

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. RHEL7:如何配置I / O调度程序

    介绍 I / O调度程序用于优化磁盘上的读/写. RHEL 7中有三种类型的I / O调度程序(也称为I / O电梯): CFQ(C fullly F air Q ueuing)促进来自实时流程的I ...

  8. RedHat 7 安装PostgreSQL 10.5

    系统环境 Redhat: Version: 7.4.1708 Architecture: x86_64 Address: 10.127.1.11 User: root Uassword: redhat ...

  9. 资料整理,SQL Server ,面试前复习笔记

    T-SQL 要掌握的知识点分类 SQL 面向数据库执行查询 SQL 从数据库取回数据 SQL 在数据库中插入新的记录 SQL 更新数据库中的数据 SQL 从数据库删除记录 SQL 创建新数据库 SQL ...

  10. 【2017-01-08】QTimer与QThread的调度时间精度

    在最近的项目开发中,我发现有的人喜欢用QThread来实现需要循环执行的工作流,而有的人又喜欢用QTimer来实现. 在表面上,两种实现方式似乎都可以,但我觉得QTimer的精度可能会有问题,首先看一 ...