ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学爬虫前必备知识-数据提取

2020-11-20 22:03:52  阅读:198  来源: 互联网

标签:字符 量词 提取 数字 重复 必备 爬虫 zA 匹配


正则表达式

01_元字符

量词功能
* (贪婪) 重复零次或更多
+ (懒惰) 重复一次或更多次
? (占有) 重复零次或者一次
{n} 重复n次
{n, m} 重复n,m次
{n,} 重复n次或者更多次
[abc] 字符组 匹配包含括号内元素的字符

02_几种反义

反义功能
\W 匹配任意不是字母,数字,下划线 的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^abc] 匹配除了abc以外的任意字符

03_量词

贪婪(贪心) 如"*"字符 贪婪量词会首先匹配整个字符串,尝试匹配时,它会选定尽可能多的内容,如果 失败则回退一个字符,然后再次尝试回退的过程就叫做回溯,它会每次回退一个字符,直到找到匹配的内容或者没有字符可以回退。相比下面两种贪婪量词对资源的消耗是最大的,

懒惰(勉强) 如 "?" 懒惰量词使用另一种方式匹配,它从目标的起始位置开始尝试匹配,每次检查一个字符,并寻找它要匹配的内容,如此循环直到字符结尾处。

占有 如"+" 占有量词会覆盖事个目标字符串,然后尝试寻找匹配内容 ,但它只尝试一次,不会回溯,就好比先抓一把石头,然后从石头中挑出黄金

量词功能
* (贪婪) 重复零次或更多
+ (懒惰) 重复一次或更多次
? (占有) 重复零次或者一次
{n} 重复n次
{n, m} 重复n,m次
{n,} 重复n次或者更多次

04_懒惰限定符

类型正则表达式
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

常用的正则表达式

01_校验数字的表达式

类型正则表达式
数字 ^[0-9]*$
n位的数字 ^\d{n}$
m-n位的数字 ^\d{m,n}$
零和非零开头的数字 ^(0|1-9][0-9]*)$
浮点数 ^(-?\d+)(.\d+)?$

02_校验字符的表达式

类型正则表达式
汉字 ^[\u4e00-\u9fa5]{0,}$
英文和数字 ^[A-Za-z0-9]+$
中文、英文、数字包括下划线 ^[\u4E00-\u9FA5A-Za-z0-9_]+$
可以输入含有^%&',;=?$"等字符 [^%&',;=?$\x22]+ 12

03_特殊表达式

类型正则表达式
Email地址 ^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
域名 a-zA-Z0-9{0,62}(/.a-zA-Z0-9{0,62})+/.?
InternetURL ^http://([\w-]+.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码 ^(13[0-9]|14[5[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
身份证号(15位、18位数字): ^\d{15}
短身份证号码(数字、字母x结尾): ^([0-9]){7,18}(x|X)?$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) ^[a-zA-Z]\w{5,17}$
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) ^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
日期格式 ^\d{4}-\d{1,2}-\d{1,2}
xml文件 ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.x|X[I|L]$
IP地址(提取IP地址时有用) \d+.\d+.\d+.\d+

标签:字符,量词,提取,数字,重复,必备,爬虫,zA,匹配
来源: https://www.cnblogs.com/854594834-YT/p/14013252.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有