《大数据导论》课件-3.3.2正则表达式使用_第1页
《大数据导论》课件-3.3.2正则表达式使用_第2页
《大数据导论》课件-3.3.2正则表达式使用_第3页
《大数据导论》课件-3.3.2正则表达式使用_第4页
《大数据导论》课件-3.3.2正则表达式使用_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据导论正则表达式使用数据采集

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。

正则表达式就是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。什么是正则表达式例如:

所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(0376-7654321)

对应的正则表达式:(0\d{2}-\d{8})|(0\d{3}-\d{7})应用场景查找从大量信息中快速提取指定内容,在一批url中,查找指定url。替换将指定格式的文本进行正则匹配查找,找到之后进行特定替换。验证表单提交时,进行用户名密码的验证。基本要素反义字符捕获元字符量词1324元字符代码/语法说明.匹配除换行符以外的任意一个字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束例子:\ba\w*\b

匹配以字母a开头的单词

先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。\d+

匹配1个或更多连续的数字。

这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。反义字符代码/语法说明\W匹配任意不是字母,数字,下划线,汉字的字符\S匹配任意不是空白符的字符\D匹配任意非数字的字符\B匹配不是单词开头或结束的位置[^x]匹配除了x以外的任意字符[^abc]匹配除了abc这几个字母以外的任意字符

有时需要查找不属于某个能简单定义的字符类的字符。

比如想查找除了数字以外,其它任意字符都行的情况例子:\S+

匹配不包含空白符的字符串。<a[^>]+>

匹配用尖括号括起来的以a开头的字符串量词代码/语法说明*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次量词是用于描述量词的前导字符重复次数例如:a*

表示0个或者多个a字符a{3,9}

表示3到9个a字符

一个括号内的内容就是一个捕获分组,如"(\d)\d"中的"(\d)"。

一般应用于提取括号中的文本内容。捕获分组代码/语法说明(exp)匹配exp,并捕获文本到自动命名的组里(?<name>exp)匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号例如:

正则表达式:

[^\d]*(\d{3,})[^\d]*,匹配一段字符串,以非数字字符串开头,有3位以上的数字字符串,且非数字字符串结尾,同时将匹配到的数字字符串捕获出来放到一个分组中。例如:

在采集豆瓣电影top250电影信息的代码中,涉及到对电影链接、电影名称、电影评分信息进行提取时,分别在对应的文本位置设置了捕获分组。捕获分组1.Email地址:

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2.域名:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3.InternetURL:

[a-zA-z]+://[^\s]*或^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论