正则表达式
一
正则表达式是一种威力无比强大的工具,几乎在所有的程序设计语言里贺计算机平台上都可以用它来完成各种复杂的文本处理工具。
正则表达式是一种强大的工具帮助人们去解决实际问题。
正则表达式适用情景:
数据挖掘中信息分类、精确抽取、匹配
文本挖掘中:分词、精确文本提取、精确关键词提取、观点挖掘
用户画像:审查数据合法性
数据导入:数据格式转换
正在开发web应用软件并需要进行复杂的表单处理、文本处理
正则表达式
代码
以上使用场景都是大家在编写程序时经常会遇到的问题,用任何一种支持条件处理和字符串操作的编程语言都可以解决,但是解决方案将会变得十分复杂。
循环检测
普通代码
在用一些循环来一次遍历文本或数据时,往往需要使用大量的标志来标记,同时还需要处理缺失值、空白值,等等……这些都需要手工的方式处理。
一
正则表达式可以通过使用由文本和特殊指令构成的高度简洁的代码块来解决这个问题。
精确匹配
正则表达式
这里,你一定已经明白了,正则表达式的使用场景:
查找特定信息,以最高效的方式,进行精确匹配。
因此正则表达式的用途,有以下两种:
精准检索(数据、文本)
一次替换(对匹配的数据进行替换,分级评价等)
案例一
正则表达式的主要用途之一是检索变化多端的文本,当处理文本类数据挖掘的问题时,词库的选择、停用词库往往是一个挑战。
信息匹配
文本挖掘
案例1:文本处理
需要把3d、3D打印、3d图像都找出来,有很多分词工具都可以完成不区分字母大小写都检索,比较困难的是确保含有该关键词的其他词不会被提取,即停用词库的问题。R中较高的packages,如JiebaR提供了匹配单个词组的选项,但是面对高纬度的文本处理工程,JiebaR在进行数据刷选时会有很多困难,必须将原始文本整理为标准格式,而这将占用大量人力时间。
使用正则表达式,而不是纯文本进行语义处理,可以轻松解决这个问题。
案例二
在进行表单开发时,一些非法字符串的输入会对系统的安全造成危害,因此当用户在填写信息时,需要检索填写的内容是否合法。
信息匹配
用户画像
在用户给出的个人信息中,对大量用户进行画像分析,提取信息也是一种搜索操作。这种搜索操作会对用户所提供的整个字符串进行精确匹配
比如,提取用户给出的电子邮件地址是否匹配这个表达式
案例三
正则表达式处理数据提取的功能非常强大。
而且很高效。
信息
替换
分级
评价
在收集完一份社会调查问卷后,有时需要对给出的反馈进行评价分级。比如需要把相应文本中的关键字提取出来,并替换为可以进行数据分析的数据类型。
绝大多数的R语言packages都可以完成这种操作,但使用正则表达式来完成这个任务简单的难以置信。
· 总结·
正则表达式:
1正则表达式是一组用来精准匹配/提取数据(文本/数字)的字符串。
2.正则表达式是用特定的正则表达语法创建的
3.正则表达式不是一种独立的编程语言,而是一种方法,它可以与R结合展现出强大的数据分析能力
4.所有主流编程语言均支持正则表达式的使用,C,C++,Java,R,Python,JavaScript……
4.所有主流平台均支持正则表达式的使用,Windows,unix,Mac
领取专属 10元无门槛券
私享最新 技术干货