小白自学Python3爬虫

Python的正则表达式

这里推荐http://deerchao.net/tutorials/regex/regex.htm,写的简介明了,初学者很容易懂


在爬虫过程中,爬回来的数据是字符串,字符串的内容是页码的HTML,我们要从字符串中提取所有提到的URL,就要求爬虫的程序有字符串处理能力,而正则表达式刚好有这个功能。

1.什么是正则表达式?

在编程或者处理页面代码时,经常会寻找符合某些特定规则的字符串。正则表达式就是描述这些规则的工具,换句话说,正则表达式就是记录这些规则的代码。

如果说某个字符串匹配某个正则表达式,一般指的是字符串中某一部分或者某几部分满足正则表达式的要求。

\b是正则表达式的一个特殊代码,表示单词的开始和结束,eg:\bhi\b,表示“hi”;

如果要找hi之后不选处的Lucy,形式就是:\bhi\b.*\blucy\b;

“.” 是一个元字符,匹配除了换行以外的任意的字符。

“*”任意数量的字符,但是不包括换行。

0\d\d-\d\d\d\d\d\d\d\d 以0开始然后两个数字,再-最后在接8个数字,\d也是一个元字符,表示数字,上面的表达也可以写成0\d{2}-\d{8}

2.测试正则表达式的工具

Regester:测试和分析正则表达式

下载安装链接:http://deerchao.net/tools/regester/index.htm



3.元字符

表1.常用的元字符
代码 说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

4.重复

表2.常用的限定符
代码/语法 说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次



5.字符类

[]例如[abcd]表示匹配相应的英文字母

6.分支条件

|,满足其中的一个或多,价相当于“或”的用法,“条件1|条件2”

7.反义

表3.常用的反义代码
代码/语法 说明
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值