知行编程网知行编程网  2022-10-31 17:00 知行编程网 隐藏边栏  44 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python怎么用正则表达式筛选网页内容的相关知识,希望可以帮到处于编程学习途中的小伙伴

python中如何使用正则表达式过滤网页内容


一、正则表达式简述:

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


二、常用正则表达式:

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

一个。特殊符号需要加上转移字符:如果要匹配'china.com',正则表达式格式应该是'china\\.com';

湾。字符集(使用括号[]包含字符串组成字符集):例如[a-z]表示匹配从a到z的字符;另外,还有一个反向字符集,以^符号开头:如[^abc]表示匹配a、b、c以外的字符;

C。选择器:匹配'python'和'page',写入模式是'python|page',其中'|'是管道符号;

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

e.可选:在pattern后面加上hello(?),则pattern变成可选的,即可能出现在匹配的字符串中,但不是必须的,如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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享