Python正则表达式 !五分钟带你完全掌握!

多种方式爬取猫眼电影TOP100 最近开始学习爬虫,用的是崔庆才老师的教程,其中第一个实战就是爬取猫眼电影的TOP100,使用的是requests+re。但我觉得re有点复杂,于是探索了一下用其他解析库来爬取。 爬取思路: 首先我要爬取的网站为:https://maoyan.com/board/4?offset=,当翻到第二时网址变成了https://maoyan.com/board/4?offset=10,第三页网址时变成了ht... 阅读详情

正则表达式又称为规则表达式,是对字符串操作的一种逻辑公式。通过正则表达式,从字符串中可以获取我们想要获取的特定部分。在正则表达式中需要导入re模块。对正则表达式的理解,可以从search和match来入手。

匹配规则如下:

  •  
r"r[A-Z]n"r"r[a-z]n"r"r[0-9]n"r"r[0-9a-z]n"

除了自己定义规则, 还有很多匹配的规则时提前就给你定义好了的. 下面有一些特殊的匹配类型给大家先总结一下。

类型匹配

  •  
\d : 任何数字\D : 不是数字\s : 任何 white space, 如 [\t\n\r\f\v]\S : 不是 white space\w : 任何大小写字母, 数字和 “” [a-zA-Z0-9]\W : 不是 \w\b : 空白字符 (只在某个字的开头或结尾)\B : 空白字符 (不在某个字的开头或结尾)\\ : 匹配 \. : 匹配任何字符 (除了 \n)^ : 匹配开头$ : 匹配结尾? : 前面的字符可有可无

重复匹配

  •  
* : 重复零次或多次+ : 重复一次或多次{n, m} : 重复 n 至 m 次{n} : 重复 n 次

例子:

  •  
print(re.search(r"ab*", "a"))             # <_sre.SRE_Match object; span=(0, 1), match='a'>print(re.search(r"ab*", "abbbbb"))        # <_sre.SRE_Match object; span=(0, 6), match='abbbbb'>  Python学习交流群:1004391443
# + : occur 1 or more timesprint(re.search(r"ab+", "a"))             # Noneprint(re.search(r"ab+", "abbbbb"))        # <_sre.SRE_Match object; span=(0, 6), match='abbbbb'>
# {n, m} : occur n to m timesprint(re.search(r"ab{2,10}", "a"))        # Noneprint(re.search(r"ab{2,10}", "abbbbb"))   # <_sre.SRE_Match object; span=(0, 6), match='abbbbb'>

 

  •  
import repattern1="cat"pattern2="brid"string="dog runs to cat"print(re.search(pattern1,string))print(re.search(pattern2,string))ptn=r"r[au]n"print(re.search(ptn,"dog runs to cat"))
#<_sre.SRE_Match object; span=(12, 15), match='cat'>#None#<_sre.SRE_Match object; span=(4, 7), match='run'>

一般搜索从行开头开始,但我们想从其他的每一行进行,加上flags=re.M参数,对每一行进行处理。

  •  
string="""dog runs to catI run to dog."""print(re.search(r"^I",string))print(re.search(r"^I",string,flags=re.M))  #re.M是re.MULTILINE 这个参数可以对每一行进行处理#None#<_sre.SRE_Match object; span=(17, 18), match='I'>

分组

  •  
match=re.search(r"(\d+),Date:(.+)","stu:4322321,Date:Jun/22/2019")print(match.group()) print(match.group(1))  print(match.group(2))    #4322321,Date:Jun/22/2019#4322321#Jun/22/2019

有时候组会很多,可以在括号开头写上 ?P<名字> 这样的形式给组定义个名字

  •  
match=re.search(r"(?P<stu>\d+),Date:(?P<date>.+)","stu:4322321,Date:Jun/22/2019")print(match.group("stu"))print(match.group("date"))
#4322321#Jun/22/2019

findall

findall查找全部列表

  •  
print(re.findall(r"c[ua]n","cun can catch"))#这里的|是or的意思print(re.findall(r"cun|can","cun can catch"))#['cun', 'can']#['cun', 'can']

replace

匹配掉一些字符串

  •  
print(re.sub(r"r[au]ns","catches","dog runs to cat")) #dog catches to cat

split

分割功能,生成一个列表保存所有单词

  •  
print(re.split(r"[,;\.]","a;b,c.d;e")) #['a', 'b', 'c', 'd', 'e']

下图列出了Python支持的正则表达式元字符和语法:  

 

 

 

 

 

Python网络爬虫实战:抓取猫眼TOP100电影信息 本文还有配套的精品资源,点击获取 简介:在Python中,Web爬虫是获取互联网数据的关键技能。本教程将指导如何结合使用requests库和正则表达式来从猫眼电影网站的TOP100榜单中抓取电影信息。首先通过requests库发送HTTP请求获取网页内容,然后运用正则表达式提取电影名和评分等信息。在进行网络爬虫时,遵守robots.txt规则,设置请求延时,并考虑处理网站的... 阅读详情

相关推荐

Python爬取猫眼豆瓣数据

Python爬取猫眼豆瓣数据,生成大数据海报

爬虫基础之爬取猫眼Top100 可视化

将数据存储在字典中 在外面定义一个空列表 最后将字典添加到列表中。至于如何查看 数据的一些信息 语法就不在这里介绍了 可以看之前的文章。

一名热爱编程的热血青年 2228

使用python对json文件的分析爬取今日头条的文章并进行处理

使用python对json文件的分析爬取今日头条的文章并进行处理.

python爬虫基础案例——爬取猫眼电影并保存数据到excel

好久没更新博文了,最近忙于学习scrapy框架和微信小程序开发,今天看到一个自己之前写的但是中途放弃的爬虫小案例——爬取猫眼电影TOP100榜的相关数据,现在将它写好并分享给大家。 爬虫的套路就是通过url发送请求,获取数据,在解析数据,最后保存数据。 一、模块 根据套路,选择好要使用的模块/库,这里用的模块/库是 import requests from lxml import etree import pandas as pd 二、正文 1.比较url,比较url变化规律,从而得到base

knighthood2001 1万+

Python爬取猫眼电影TOP100

Requests,正则表达式爬取猫眼电影TOP100,并将结果写入TXT文档中

爬取猫眼电影的排行榜前100名

本次爬虫没有采用scrapy框架,只是用了requests请求,然后用正则表达式进行网页的解析,最后提取出里面所需要的内容

如何爬取猫眼全部信息(电影信息、演员信息)

爬取猫眼的全部信息,这里主要指的是电影列表里的电影信息和演员信息,如下界面。 爬去的时候有两个难点。一:字体加密(如今好像机制有更新来些,用网上的方法不行);二:美团检测。下面将分别讲述我解决的过程。 一、字体加密 关于字体加密,网络上介绍的很多,思路也都类似。猫眼每次加载的时候会动态的加载不同的字形编码。解决思路呢,就是先下载好它的一个字体文件(.woff结尾的,方法网上...

我要出家当道士 4591

Android代码-电影信息获取

Themovie Android Wrapper This is a wrapper for The Moviedb API version 3 This project uses the Retrofit to create interfaces from tmdb API endpoints. This project is on development. Endpoint available: Movie GetCatalog Movies (Popular, Playing now, Top rated) Get Videos from movies Get detail movie Integrating into your project This project is available in JitPack.io repository. Add into build.gradle allprojects { repositories { jcenter() maven { url "https://jitpack.io" }

正则表达式 可有可无_Python正则表达式 !五分钟带你完全掌握!

正则表达式又称为规则表达式,是对字符串操作的一种逻辑公式。通过正则表达式,从字符串中可以获取我们想要获取的特定部分。在正则表达式中需要导入re模块。对正则表达式的理解,可以从search和match来入手。匹配规则如下:r"r[A-Z]n"r"r[a-z]n"r"r[0-9]n"r"r[0-9a-z]n" 除了自己定义规则, 还有很多匹配的规则时提前就给你定义好了的. 下面有一些特殊的匹配类型给大...

weixin_39706561的博客 935

图像去雾常见数据集

上述数据集涵盖了室内、室外、真实和合成等多种场景,可以满足不同研究需求。在选择数据集时,建议根据具体任务的应用场景和目标选择合适的数据集,例如真实雾天图像适合模型的实际应用验证,而合成数据则适合模型的快速迭代和训练。希望本文能为从事图像去雾研究的朋友提供一些帮助!

m0_68604571的博客 6334

VOLTE信令流程-IMS注册篇(五)

目录 VOLTE信令流程-IMS 注册 VOLTE信令流程-IMS 注册/注销 VOLTE信令流程-VoLTE呼叫流程 VoLTE-VoLTE VoLTE-CS CS-VoLTE CS-CS VOLTE信令流程 VOLTE信令流程-VOLTE-VOLTE信令 VOLTE信令流程-INVITE详细信息 VOLTE信令流程-eSRVCC信令流程 VOLTE信令流程-IP短信 VOLTE信令流程-IMS 注册 IMS注册流程简述  获取鉴权向量 IMS用户将注...

gender123的博客 2万+

python正则表达式(小白五分钟从入门到精通)

正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则)的文本。简单来说,正则表达式就是使用:字符串定义规则,并通过规则去验证字符串是否匹配。比如,验证一个字符串是否是符合条件的电子邮箱地址,只需要配置好正则规则,即可匹配任意邮箱。

weixin_74414860的博客 1749

数据结构五分钟精通 之 正则表达式(Python)

⭐1、re.search() re.match() re.findall() re.finditer() 不是直接返回查找到的内容or查找到的位置,而是返回一个匹配的对象。⭐2、span()函数返回的是,匹配到的起始位置和结束位置。(包括起始,不包括结束----[3,5) )⭐3、group()函数直接返回,匹配到的内容。

un_lock的博客 874

H.264 Profile与Level详解:如何为不同应用场景选择合适的编码配置

本文深入解析了H.264编码标准中的Profile与Level概念,指导开发者如何为不同应用场景选择合适的配置。文章对比了Baseline、Main和High三大Profile的特性与适用场景,并解释了Level如何限定视频的分辨率、帧率与码率上限。通过实战指南,帮助读者在视频通话、在线点播和专业制作等场景中,平衡画质、兼容性与性能,实现高效编码。

rgv2345678的博客 238

【OCPP】ocpp1.6J协议框架说明

本文档的目的是为读者提供创建正确的可互操作 OCPP JSON 实现 (OCPP-J) 所需的信息。我们将根据我们自己的经验,尝试解释什么是强制性的、什么是良好做法以及什么是不应该做的。毫无疑问,误解或歧义仍然存在,但我们旨在通过本文件尽可能地防止它们。IANA:互联网数字分配机构(OCPP-J:使用JSON通过WebSocket进行OCPP通信。特定的OCPP版本应使用J扩展进行指示。OCPP1.5J表示我们正在讨论1.5版本的JSON/WebSocket实现。

qq_53871375的博客 1241

五分钟学会python函数_5分钟速览Python正则表达式常用函数!五分钟就掌握它!...

导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大。本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览。01 Re概览Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..\\Python\\Python37\\Lib)。主要提供了3大类字符...

weixin_39781323的博客 114

使用 MATLAB/Simulink + Reinforcement Learning Toolbox 构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统

随着人工智能(AI)技术的快速发展,强化学习(Reinforcement Learning, RL)在控制系统中的应用日益广泛。在电机控制领域,传统的PID控制虽然成熟稳定,但在面对非线性、时变、不确定负载等复杂工况时,其控制性能可能受限。而强化学习通过与环境的交互学习,能够实现在线自适应控制策略优化,显著提升系统的鲁棒性与响应速度。本教程将带你使用构建一个基于强化学习的永磁同步电机(PMSM)自适应控制仿真系统,实现从控制策略设计、环境建模、训练到仿真的全过程。当前转速(ω)

amy_mhd的博客 407

教新手小白如何通过五分钟学会用Python爬取女神照片!

今天咱们要爬取花瓣网 https://huaban.com/ 设计师寻找灵感的天堂!有海量的图片素材可以下载,是一个优质图片灵感库 这次我们用requests登录花瓣网,爬取页面,再用正则与json提取有用信息,最后把获取的图片信息 保存到本地 一 、用到技术 python 基础 requests登录页面获取session用户会话,下载图片 正则表达式提取页面的有用信息 json解析页面中的图片 二、 目标页面 https://huaban.com/search/?q=女神&c...

爬遍所有网站 708

初探802.11协议(0)——PCF/DCF与CSMA/CA机制

IEEE802.11 CSMA/CA机制与DCF机制

FanFF的博客 4505

【人工智能】Open WebUI 安装指南 ( 基于Docker下载和使用Open WebUI 、通过本地运行项目源码进行搭建Open WebUI)

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线操作。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。社区:https://openwebui.com/

奶爸的编程之路,也就一周冷个三天 2万+

5分钟速览Python正则表达式常用函数!五分钟就掌握它!

导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大。本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览。 01 Re概览 Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..\Python\Python37\...

爬遍所有网站 146

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

五分钟了解python爬虫

五分钟了解python爬虫 什么是python爬虫? python是一种编程语言,而爬虫则是一个抽象概念:我们把互联网比作一张巨大的蜘蛛网,那么爬虫就是在这张网上捕猎的掠食者,即获取资源的工具。所以python爬虫意思就是利用python语言的一些语法和功能来在html等网页中截取我们想要的信息和资源。 接下来我们用一个例子来教大家怎么获取网页上的表格信息并把它保存到本地文件夹。 第一步:导入库函...

weixin_44356683的博客 306

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

01比特串异或 python_5分钟速览Python正则表达式常用函数!五分钟就掌握它!

导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大。本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览。01 Re概览Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..PythonPython37Lib)。主要提供了3大类字符串操作方法:...

weixin_36461619的博客 115

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

5分钟完全掌握正则表达式

前言如果说什么是我学习编程来最好用,最常用的知识点,那应该就是正则表达式了。严谨的说,正则表达式并不是一门编程语言,也不是为了一种编程语言而服务的知识。但他确实足够好用,应用也足够广泛。...

Python中文社区 272

python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!

导读:正则表达式是处理字符串类型的"核武器",不仅速度快,而且功能强大。本文不过多展开正则表达式相关语法,仅简要介绍python中正则表达式常用函数及其使用方法,以作快速查询浏览。01 Re概览Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..PythonPython37Lib)。主要提供了3大类字符串操作方法:...

weixin_39756273的博客 82
上一篇: 有了Python+树莓派,我也做了款人工智能相机 !
下一篇: 拒绝重复造轮子!python实用工具类及函数大推荐!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值