八爪鱼·云采集网络爬虫软件
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、功能免费+增值服务,可按需选择。免费版具备所有功能,能够满足用户的基本采集需求。同时设置了一些增值服务(如私有云),满足高端付费企业用户的需要。