首页 > 编程语言 >python怎么用正则表达式筛选网页内容

python怎么用正则表达式筛选网页内容

时间:2024-08-22 22:23:31浏览次数:11  
标签:www 匹配 python 正则表达式 网页内容 org com

一、正则表达式简述:

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

二、常用正则表达式:

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

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模板中,使用时只需将该模板引入到当前项目中即可:

上述是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

标签:www,匹配,python,正则表达式,网页内容,org,com
From: https://blog.csdn.net/hakesashou/article/details/141435015

相关文章

  • python中%s是什么
    python的%s是用作print的格式化输出:打印字符串。Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式,s代表字符串。格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型。python中不同类型的字符拥有不同的格式符,分别为......
  • python 05-标准库:csv、json、sqlite3、datetime模块
    csv模块importcsv#data.csv不存在时,会现在当前目录下创建一个data.csv文件withopen("data.csv","w",encoding='utf-8')asfile:writer=csv.writer(file)writer.writerow(["trasanction_id","product_id","pric......
  • Selenium + Python 自动化测试22(PO+数据驱动)
            我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。上一篇我们讨论了PO模式和unittest框架结合起来使用。        本篇文章我们综合一下之前学习的内容,如先将PO模式、数据驱动思想和我们生成HTML报告融合起来,综合的灵活的使用......
  • 第四章 Python操作redis(操作案例)
    一、python对redis基本操作(1)连接redis#方式1importredisr=redis.Redis(host='127.0.0.1',port=6379)r.set('foo','Bar')print(r.get('foo'))#方式2importredispool=redis.ConnectionPool(host='127.0.0.1',po......
  • Python 基础:编程概念
    在黑客和网络安全领域,这通常意味着BASH和Python脚本。Python脚本在网络安全专业人士中最受欢迎,因为它拥有丰富的库和模块,可用于网络安全(你可以使用任何编程语言进行网络安全,但如果有人已经用Python等语言编写了轮子,那么你的生活就会轻松得多)。如果你检查Kali中的工具,你会......
  • python——concurrent.futures
    concurrent.futures是Python标准库中用于并行编程的高级模块,它提供了一种高级别的接口来管理线程和进程。通过这个模块,你可以轻松地利用多线程和多进程来并行执行任务,进而提高程序的执行效率。1.concurrent.futures概述concurrent.futures提供了两种执行器类型:Thre......
  • jmeter中提取token值(正则表达式,)
    jmeter中提取token值(正则表达式)一、接口前准备案例链接:http://shop.duoceshi.com/uiid接口:http://manage.duoceshi.com/auth/codeget请求登录接口:http://manage.duoceshi.com/auth/loginPOST请求请求参数:{"username":"admin","password":"tlHpvw2zZLz1xL3+LF......
  • 【精选】基于Python的热门旅游景点数据分析系统的设计与实现(南京旅游,北京旅游,旅游网站
    目录: 系统简介:  关键技术介绍2.1PYTHON语言简介2.2MySql数据库2.3DJANGO框架2.4Hadoop介绍2.5Scrapy介绍2.6B/S架构 系统总功能结构设计系统详细实现:6系统测试系统测试的目的软件测试过程测试用例为什么选择我: 博主介绍:  ✌我是阿龙,一名......
  • Python系列(7)| 命名空间、作用域
     1.命名空间(Namespace)   Python中的命名空间(Namespace)和作用域是密切相关的概念。Python命名空间(Namespace)可以视为一个字典,其中键是变量名,值是与之关联的对象。   各个命名空间是独立的,同一个命名空间中不能有重名(重名的以后一个为准),不同的命名空间是......
  • PCA原理与水果成熟状态数据分析实例:Python中PCA-LDA 与卷积神经网络CNN
    全文链接:https://tecdat.cn/?p=37450 主成分分析(PCA)作为数据科学中用于可视化和降维的重要工具,在处理具有大量特征的数据集时非常有用。就像我们难以找到时间阅读一本1000页的书,而更倾向于2到3页的总结以抓住整体概貌一样,当数据集中特征过多时,PCA可以帮助我们减少维度,提......