正则表达式-01

作者: 医科研 | 来源:发表于2019-02-23 15:50 被阅读5次

理解正则表达式
此前在数据处理过程中多次遇到过正则表达式的问题,也没有过多去深究
在此做一定的归纳整理,正则表达式在处理文本时显得很迫切,通俗的理解就是
有些符号约定转义为其它意思,这样才使得正则表达式具备很强大灵活的文本处理能力,下面
用一些示例来说明

正则表达式转义字符

空白元字符   [\b]    回退(并删除)一个字符(backspace)
\f  换页符
\n  换行符
\r  回车符
\t  制表符(tab)
\v  垂直制表符

### 匹配数字与非数字
\d  任何一个数字字符,等价于[0-9]
\D  任何一个非数字字符,等价于^[0-9]

### 匹配字母\非字母与数字
\w  任何一个字母数字字符(大小写均可以)或下划线字符(等价于[a-zA-Z0-9])
\W  任何一个非字母数字或下划线字符(等价于[^a-zA-Z0-9])

### 匹配空白字符
\s  任何一个空白字符(等价于[\f\n\r\t\v])
\S  任何一个非空白字符(等价于[^\f\n\r\t\v])

### 特殊字符
#.  可以匹配任何单个的字符字母数字甚至.字符本身。同一个正则表达式允许使用多个.字符。
\\  转义字符,如果要匹配就要写成“\\(\\)”
|   表示可选项,即|前后的表达式任选一个
^   取非匹配
$   放在句尾,表示一行字符串的结束
()  提取匹配的字符串,(\\s*)表示连续空格的字符串
[]  选择方括号中的任意一个(如[0-2]和[012]完全等价,[Rr]负责匹配字母R和r)
{}  前面的字符或表达式的重复次数。如{5,12}表示重复的次数不能小于5,不能多于12,否则都不#匹配
*   匹配零个或任意多个字符或字符集合,也可以没有匹配
+   匹配一个或多个字符,至少匹配一次
?   匹配零个或一个字符

应用举例

Example-1

text<-c("I love da ke ai tong xue")
text
nchar(text)#计算字符数
length(text)#元素个数

#查找含有da组合的单词
grep("[Dd]a",text )#不区分大小写,返回的是位置
grep("[D]a",text)#大写
grep("[d]a",text)#小写

Example-2

strsplit()函数用于字符串分割,其中split是分割参数。所得结果以默认以list形式展示

text
x1<-strsplit(text,split = "\\s+")#s表示任意空白字符,+表示至少匹配一次
# 匹配一个或以上的空白字符(括空格、制表符和换行符等分割,第一个\起到转义作用。
unlist(x1)

# 分割空格
x2<-strsplit(text,split=" ")#分割空格
unlist(x2)

# 处处分割
unlist(strsplit(text,split=""))#注意表示空格时的区别

# strsplit默认支持正则表达式,设定参数fixed=T则不支持正则
x = "asdas\\sasdasd"
strsplit(x,split = "\\s")#匹配空白字符
strsplit(x,split = "\\s",fixed = T)#匹配\\s处分割
#strsplit(x,split = "\s")#报错因为没有转义,一个反斜杠是非法的

参考资料:https://www.cnblogs.com/wheng/p/6262737.html

相关文章

  • Day15 正则表达式

    01.正则表达式的符号 02.正则表达式符号组合 03.正则表达式 04.re 模块方法 01.正则表达式的符号 ...

  • 05_01_egrep及扩展正则表达式05_02_bash脚本编

    05_01_egrep及扩展正则表达式 REGEXP:正则表达式 基本正则表达式:BasicREGEXP grre...

  • day15正则表达式

    01-正则表达式的符号 02-正则表达式符号组合 03-正则表达式 04-re模块方法

  • day15 正则表达式

    01 正则表达式的符号 正则表达式:用来做字符串查找,匹配,切割用的一种工具 python对正则表达式的支持:提供...

  • day17-正则表达式

    01-正则表达式 1、正则表达式就是用来检测字符串是否满足某种规则的工具。2、python对正则表达式的支持,提供...

  • day15-正则表达式

    01-正则表达式的符号 正则表达式:用来做字符串查找、匹配、切割用的一种工具 python对正则表达式的支持:提供...

  • day15

    01 正则表达式 正则表达式:用来做字符串查找、匹配、切割用的一种工具 python对正则表达式的支持:提供了re...

  • Python-re模块(正则表达式)

    01. 正则表达式基础知识 1.1 原子 原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子,...

  • DAY17 regularExpression正则表达式 201

    01-recognize regular expression认识正则表达式 02-main functions ...

  • 正则表达式 01

    正则表达式 01 https://leetcode-cn.com/problems/jewels-and-ston...

网友评论

    本文标题:正则表达式-01

    本文链接:https://www.haomeiwen.com/subject/bdjpyqtx.html