教你学会使用Python正则表达式

发布时间 - 2026-01-11 03:08:35    点击率:

今天写爬虫偶然想到了初学正则表达式时候,看过一篇文章非常不错。检索一下还真的找到了。

re模块

re.search

经常用match = re.search(pat, str)的形式。因为有可能匹配不到,所以re.search()后面一般用if statement。

re.match

re.match和re.search很相似,只是re.match是从字符串的开头开始匹配。

常用正则字符意义 a, X, 9,等字符匹配自己, 元字符不匹配自己,因为有特殊意义,比如 . ^ $ * + ? { }[ ] \ | ( ) . 英文句号,匹配任意字符,不包含'\n' \w 匹配'word'字符,[a-zA-Z0-9] \W 匹配非'word'字符 \b 匹配'word'和'non-word'之间边界 \s 匹配单个whitespace字符,space, newline, return, tab, form [\n\r\t\f] \S 匹配non-whitespace字符 \t, \n, \r 匹配tab, newline, return \d 匹配数字[0-9] ^ 匹配字符串开头 $ 匹配字符串结尾 重复

‘+' 一或多次, ‘*' 零或多次, ‘?' 零或一次

方括号[]

[]类似于or

Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.

Group Extraction圆括号()

有时候需要提取匹配字符的一部分,比如刚才的邮箱,我们可能需要其中的username和hostname,这时候可以用()分别把username和hostname包起来,就像r'([\w.-]+)@([\w.-]+)',如果匹配成功,那么pattern不改变,只是可以用match.group(1)和match.group(2)来username和hostname,match.group()结果不变。

findall and groups

()和findall()结合,如果包括一或多个group,就返回a list of tuples。

给re.search加^之后是一样的。

re.sub

re.sub(pat, replacement, str)在str里寻找和pattern匹配的字符串,然后用replacement替换。replacement可以包含\1或者\2来代替相应的group,然后实现局部替换。


# Python正则表达式  # Python  # 正则  # Python正则表达式的使用  # python实现的正则表达式功能入门教程【经典】  # python使用正则表达式替换匹配成功的组  # Python使用中文正则表达式匹配指定中文字符串的方法示例  # 详解python里使用正则表达式的全匹配功能  # Python中正则表达式的详细教程  # Python实现正则表达式匹配任意的邮箱方法  # 可以用  # 就像  # 多个  # 有可能  # 是从  # 英文  # 类似于  # 一篇文章  # 非常不错  # 别把  # 为有  # 不包含  # 不改变  # 很相似  # 不匹配  # 这时候  # 找到了  # 是一样的  # 来代替  # 正则表达式 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel怎么连接多个数据库_Laravel多数据库连接配置  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何在Windows环境下新建FTP站点并设置权限?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Android使用GridView实现日历的简单功能  Laravel集合Collection怎么用_Laravel集合常用函数详解  如何快速使用云服务器搭建个人网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  android nfc常用标签读取总结  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Python文件异常处理策略_健壮性说明【指导】  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何在宝塔面板中创建新站点?  如何在腾讯云服务器上快速搭建个人网站?  Laravel怎么判断请求类型_Laravel Request isMethod用法  如何在宝塔面板中修改默认建站目录?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何用PHP工具快速搭建高效网站?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  🚀拖拽式CMS建站能否实现高效与个性化并存?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何快速辨别茅台真假?关键步骤解析  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  ,交易猫的商品怎么发布到网站上去?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  香港网站服务器数量如何影响SEO优化效果?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  利用JavaScript实现拖拽改变元素大小  Windows Hello人脸识别突然无法使用  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel用户密码怎么加密_Laravel Hash门面使用教程  网站制作壁纸教程视频,电脑壁纸网站?  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel如何配置和使用缓存?(Redis代码示例)  JS去除重复并统计数量的实现方法  5种Android数据存储方式汇总  香港服务器租用每月最低只需15元?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用