Python 网络爬虫(三) 正则表达式

1.匹配规则  : 

\d匹配一个数字
\w匹配一个字母或者数字   
.匹配一个任意的字符, 除了空格                       匹配的是字符
*匹配0次或者多次前面的子表达式                    匹配的是子表达式的长度
+匹配至少一个前面的子表达式,                         匹配的是子表达式的长度
?匹配0个或者一个前面的子表达式                    匹配的是子表达式的长度
{n}匹配n个前面的子表达式                                  匹配的是子表达式的长度
{n, m}匹配n-m个前面的子表达式                              匹配的是子表达式的长度
\s匹配一个空格,   \s+ 表示匹配多个空格
[ ]表示匹配的内容范围,  内容是否在括号中的内容  [13] 可以匹配字符1, 3, 13 ; [1,3]匹配字符1,3 ; [1-3] 匹配字符1,2,3
[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;
[0-9a-zA-Z\_]+可以匹配至少一个数字、字母或者下划线组成的字符串
^表示行的开头,     ^\d表示必须以数字开头
$表示行的结尾,     $\d表示必须以数字结尾
|或者    A|B   表示A或者B
(  )()内的内容表示的是一个表达式,()本身不匹配任何东西,    eg: (ab){1,3}表示ab一起出现1到3次,  ab{1,3} 表示a然后后面有个b, b出现1到3 次
\b匹配一个单词边界,即字与空格间的位置。

2.*、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

eg: <H1>Chapter 1 - 介绍正则表达式</H1>

      (1)  " /<.*>/ "  匹配的内容是 :     <H1>Chapter 1 - 介绍正则表达式</H1>   , 第一个  <  到  最后一个  >  之间的内容.

      (2)  " /<.*?>/ "  匹配的内容是 :    <H1>Chapter 1 - 介绍正则表达式</H1>   , 第一个 <  到  第一个  >   之间的内容.

3.在Python中, 在字符串之前添加  r  表示该字符串用于正则, 不需要进行转义.

4.re模块常用的方法 :

(1)  match() 方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。如果正则表达式中定义了组( 就是使用小括号 ),就可以在Match对象上用group()方法提取出子串来。

(2) re.spilt()    方法用于切割一个字符串.

(3) re.compile(r'^(\d{3})-(\d{3,8})$')   表示编译正则表达式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值