数据挖掘必备技能——正则表达式
Posted 数据挖掘工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘必备技能——正则表达式相关的知识,希望对你有一定的参考价值。
正则表达式是数据挖掘必备技能,正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
这里用R语言的正则函数来演示
常用匹配模式
\d:任何一个数字字符 等价[0-9]
\D:任何一个非数字字符 等价[^0-9]
\w:任何一个数字或者字母、下划线,相当于[a-zA-Z0-9]
\W:任何一个非数字或者字母
\\:转义字符
其它匹配
.:匹配任何一个字符
|:可选则匹配任意一个
^:以特定模式开头开头或者表示逻辑非
$:放在末尾,表示特定的结尾模式
():提取匹配的字符串
[]:里面的表示可选
{}:表达式重复最多次数
*:匹配0次或者1次以上
+:匹配1次以上,至少匹配一次
?:匹配0次或者一次
这里用R语言的stringr包的str_extract()这个函数和str_extract_all()演示,它们的区别是一个匹配成功一个就不再匹配,一个表示会把所有满足匹配条件的匹配出来。下面拿它们来演示,开始两个函数都会演示一下,为了说明它们的区别,为了减少文章篇幅,让大家浏览的轻松,之后就只拿str_extract()做演示。
先定义一个字符串:
s <- '123abc456'
\d:任何一个数字字符 等价[0-9]
后面“+”表示匹配连续一段数字字符。
下面只用str_extract()演示,因为它们区别只是是否匹配所有,所以只演示一个就行了。
\D:任何一个非数字字符 等价[^0-9]
\w:任何一个数字或者字母、下划线,相当于[a-zA-Z0-9]
\W:任何一个非数字或者字母
> str_extract(s,'\\W') |
\\:转义字符
> s <- '123abc456\\' |
.:匹配任何一个字符
> str_extract(s,'.') |
|:可选则匹配任意一个
> str_extract(s,'1|9') |
^:以特定模式开头开头或者表示逻辑非
> s |
$:放在末尾,表示特定的结尾模式
> s |
():提取匹配的字符串
> str_extract(s,'123(.*?)456') |
[]:里面的表示可选
> s |
{}:表达式重复最多次数
> s |
*:匹配0次或者1次以上
> s |
+:匹配1次以上,至少匹配一次
> str_extract(s,'\\d+') |
?:匹配0次或者一次
> s |
当然了,喜欢用python的可以用python的re.search()函数练习正则表达式语法!
欢迎留言、提建议、意见,觉得不错,记得【点赞、分享】!
猜你可能喜欢
终于等到你了!
再华丽的词藻也不过简单的分享!
爱生活、爱原创、爱分享!
以上是关于数据挖掘必备技能——正则表达式的主要内容,如果未能解决你的问题,请参考以下文章