正则表达式使用工具教程 下载本文

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

11.4正则表达式-语法

正则表达式(Regular Expression)描述了一种字符串匹配模式,可以用来检查一个字符串是否含有某种子串、将匹配子串做替换或者将匹配的子串提取出来等。

正则表达式语法=普通字符+特殊字符 普通字符=打印字符+非打印字符(元字符) 特殊字符=限定符+定位符

非打印字符:换页符(\\f)、换行符(\\n)、回车符(\\r)、制表符(\\t)、垂直制表符(\\v)、控制字符(\\cM)、匹配任何空字符(\\s)、匹配任何非空字符(\\S)

特殊字符:

$:输入字符串结尾位置

( ):标记一个子表达式开始于结束位置 *:前面的子表达式0次或者多次 +:前面的子表达式1次或者多次 .:通配符,除\\n外任务字符

[、]:标记中括号要开始的地方,里面放表达式,表示字符集,但只表达一个字符 ?:匹配前面的子表达式0次或者1次,非贪婪 \\:转义字符

^:匹配输入字符串的开始位置 {、}:限定表达式开始的地方

限定符:*、+、?、{n}、{n,}、{n,m} *、+、?区别:贪婪非贪婪

{n}、{n,}区别:匹配确定的次数与匹配至少的次数

定位符号:\\b、\\B、^、$ \\b:边界处 \\B:非边界处

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

选择: |:或者

对于“|”的应用尽量偏少,因为相关的匹配会被缓存起来。

反向引用:

(?:pattern):匹配但不获取结果

(?=pattern):正向预查,不需要获取供使用 (?!pattern):负向预查 (?<=a):

(?=b):开头,匹配但不需要提供使用

优先级:从左到右计算 相同优先级从左到右计算 不同优先级先高后低

字符簇:字符集

例如,[0-9],表达字符集0-9的集合,但是“[0-9]”本身只能匹配一个字符。

反向引用:

对于较小长度的单位不不要考虑反向引用问题,这里暂时按不表。 元字符:

即正则中某些字符被预先设定好一些含义,例如:“\\”,其本身被设定为转义符,如果匹配字串中含有该字符,其正则表达式应为:\\\\,此处的意思是“\\”字符已经预先设定好含义,要想匹配这需要转义声明,正则里面所用的转义声明符就是“\\”

字符

描述

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

\\ ^ $ \\b \\B

W3S

转义符 输入字符串开始位置 输入字符串结束位置 匹配一个单词的边界 匹配非单词边界 查

http://www.w3cschool.cn/zhengzebiaodashi/regexp-metachar.html

运算符优先级

正则表达式从左到右计算,相同优先级从左到右计算,不同优先级从高到底计算,这与数学中的算数表达式类似,以下是优先级表,优先级从高到低。

运算符 \\ (), (?:), (?=), [] *, +, ?, {n}, {n,}, {n,m} ^, $, \\任何元字符、任何字符

|

要运用好正则,除了熟练八爪鱼正则工具外,对正则语法有一定的了解是十分必要的,知其然故知其所以然,我们对正则字符组成、连接符、限定符、运算符优先级等都应该有所了解,最好是熟练它,这对我们使用好八爪鱼采集器的格式化数据有重要的促进作用。

描述 转义符 圆括号和方括号

限定符

定位点和序列(即:位置和顺序)

替换,\或\操作

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

11.5正则表达式-正则表达式及简单应用

例子:2017-03-30 04:08:55 来源: 广州日报(广州) 举报

1.匹配日期

正则表达式:[0-9-]{4}-[0-9]{2}-[0-9]{2}

图11.5-1 匹配日期

2.匹配来源

正则表达式:(?<=来源: )(.+)(?=\\()

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

图11.5-2 匹配来源

从以上应用举例我们可以看出,如果一条数据中包含了多条我们想分割的信息,我们能通过正则表达式将其分割开来,因此,合理运用好正则,对我们格式化处理数据会有莫大的帮助。

相关采集教程:

八爪鱼爬虫软件入门准备 http://www.bazhuayu.com/tutorial/xsksrm/rmzb 八爪鱼数据爬取入门基础操作 http://www.bazhuayu.com/tutorial/xsksrm/rmjccz 八爪鱼网站抓取入门功能介绍http://www.bazhuayu.com/tutorial/xsksrm/rmgnjs 八爪鱼爬虫软件功能使用教程 http://www.bazhuayu.com/tutorial/gnd 循环翻页爬取网页数据

http://www.bazhuayu.com/tutorial/gnd/xunhuan

八爪鱼·云采集网络爬虫软件

www.bazhuayu.com

ajax网页数据抓取

http://www.bazhuayu.com/tutorial/gnd/ajaxlabel

八爪鱼——90万用户选择的网页数据采集器。

1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。完全可视化流程,点击鼠标完成操作,2分钟即可快速入门。

2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布流、Ajax脚本异步加载数据的网页,均可经过简单设置进行采集。

3、云采集,关机也可以。配置好采集任务后可关机,任务可在云端执行。庞大云采集集群24*7不间断运行,不用担心IP被封,网络中断。

4、功能免费+增值服务,可按需选择。免费版具备所有功能,能够满足用户的基本采集需求。同时设置了一些增值服务(如私有云),满足高端付费企业用户的需要。