python用正则表达式筛选网页内容的方法

发布时间:2020-09-02 13:47:51 作者:小新
来源:亿速云 阅读:347

这篇文章主要介绍了python用正则表达式筛选网页内容的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

一、正则表达式简述:

什么是正则表达式?正则表达式就是可以匹配文本片段的模式,最简单的正则表达式就是一个字符串,用于在文本中匹配到此字符串自身。

二、常用正则表达式:

设计正则表达式的时候有几个注意点如下:

a.特殊符号需要加转移符:如要匹配'china.com',则正则表达式格式应为'china\\.com';

b.字符集(使用中括号[]来包含字符串组成字符集):如[a-z]表示匹配从a到z之间的字符;此外,还有一个反转字符集,使用^符号开头:如[^abc]表示匹配除了a、b、c三个字符之外的字符;

c.选择符:如要匹配'python'和'page',写出来的模式为'python|page',其中‘|’是管道符号;

d.子模式:如‘p(ython|age)’;

e.可选项:在模式后面加上问好(?),那该模式就变成了可选项,即其可能出现在匹配到的字符串中,但是并非必须的,如r'(http://)?(www.)?shuhe.com'可匹配的结果有:

http://www.shuhe.com、http://shuhe.com、www.shuhe.com、shuhe.com

f.重复子模式:

(pattern)*:允许模式重复0次或多次

(pattern)+:允许模式重复1次或多次

(pattern){m,n}:允许模式重复m~n次

例如:

r'w*\.python\.org'匹配'www.python.org'、'.python.org'、'wwwwww.python.org'
r'w+\.python\.org'匹配'w.python.org';但不匹配'.python.org'
r'w{3,4}\.python\.org'只能匹配'www.python.org'和'wwww.python.org'

三、re模板的使用:

在python中封装了一些常用的正则表达式在re模板中,使用时只需将该模板引入到当前项目中即可:

python用正则表达式筛选网页内容的方法

上述是re中常用的正则表达式,使用步骤为:

1.先将正则表达式的字符串形式编译为Pattern实例;

2.然后使用Pattern实例处理文本并获得匹配结果(一个Match实例);

3.最后使用Match实例获得信息,进行其他的操作。

例如:

# encoding: UTF-8  
import re  
   
# 将正则表达式编译成Pattern对象  
pattern = re.compile(r'hello')  
   
# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None  
match = pattern.match('hello world!')  
   
if match:  
    # 使用Match获得分组信息  
    print match.group()  
   
### 输出 ###  
# hello

感谢你能够认真阅读完这篇文章,希望小编分享python用正则表达式筛选网页内容的方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

推荐阅读:
  1. python如何获取网页内容
  2. 用PHP实现筛选分类列表的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:python爬虫简单的添加代理进行访问的实现代码

下一篇:python中anaconda的使用方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》