正则表达式与python

 在Python中有一个非常重要也非常好用的模块re,在import re后,就能够在Python中使用正则表达式,源于此次项目要用正则表达式对html代码提取一定的字符,所以在这也就用些小例子来熟悉一下正则表达式

 

 

现在就用最简单的例子

import re
s='<title>http://www.baidu.com</title>'
print re.findall(r'</w+>(.+)</',s)

运行后结果为

>>>
['http://www.baidu.com']


这个相对来说还是比较简单的,但是这个正则表达式还是有比较多的问题

1对于比较复杂的字符串,比如嵌套了标签的字符串,就没有办法了,因为只能够判断最外一层的<></>标记而已

2是这个是判断具有类似<></>标记的字符串,对于实际的html中的提取,还是要加上具体的值,比如是title,还是head

 

import re
s='<head><title>http://www.baidu.com</title></head>'
print re.findall(r'title>(.+)</title',s)

 

运行后得到

>>>
['http://www.baidu.com']

 

虽然在这个比较简单的代码中我们解决了上述两个问题,但是针对html中更加复杂的代码,我觉得还是会有很多的问题

不过今天也就是简单的熟悉一下正则表达式,所以也就不再去深入研究,经过队员的讨论后在探讨解决问题的方案

 

 

 

 

下面给出一个判断邮箱地址是否合法的正则表达式

邮箱主要包括@和.,所以在判断的时候也只需假如这两个条件就可以了

import re
s='zhuangruln@gmail.com  zhuangasdsad@126.com zhusdandsai@adsd'
print re.findall(r'(/w+@/w+/./w+)',s)

 

运行结果

['zhuangruln@gmail.com', 'zhuangasdsad@126.com']
>>>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值