当前位置: 首页 > news >正文

python正则表达式

概述

  • 为什么要学习正则表达式
    在实际的开发过程中,经常会有查找符合某些规则的字符串,如邮箱、图片地址、电话号码等。想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。

  • 什么是正则表达式
    正则表达式描述了一种字符串匹配的模式,是一种特定的字符串模式,这个模式是通过一些特殊的符号组成的。

  • 正则表达式的功能

    • 数据验证(表单验证:如手机、邮箱、IP地址)
    • 数据检索 (数据检索、数据抓取) => 爬虫功能
    • 数据隐藏 (136****6221)
    • 数据过滤 (论坛敏感关键字过滤)

re 模块

Python中需要通过正则表达式对字符串进行匹配时,可以使用re模块

re 模块的使用

# 1. 导入re模块
import re
# 2. 使用match方法进行匹配操作
result = re.match(pattern正则表达式, string要匹配的字符串,flags=0)
# flags: 可选,表示匹配模式,比如忽略大小写,多行匹配等
# 3 如果匹配成功,使用group方法提取数据
result.group()

match 函数

match 函数从左往右,逐个字符的匹配,不会跳过某个字符,即 全词匹配
例:字符匹配

# 正则表达式 .it 表示 匹配 3个字符,第一个字符是任意字符,第二个字符是i,第三个字符是t
result = re.match('.it','ait')
# 判断是否匹配成功,匹配成功就打印匹配到的内容,没有匹配到就提示
if result != None:print(result.group()) # ait
else:print('匹配失败')

正则表达式符号

符号说明
.任意一个字符
\.取消 . 的特殊用法,就是一个普通的.
a代表1个字符a
[abc]表示a,b,c中的任意1个字符
[^abc]代表除了a,b,c以外的任意一个字符
[0-9]代表任意一个数字
\d代表任意一个数字
\D除了整数外的任意1个字符 \D = [^0-9]
\s匹配空白,空格 tab
\S匹配非空白
\w匹配非特殊字符
\W匹配特殊字符
?前面的内容出现0次或者1次,如 a? 表示 a 出现 1次
*前面的内容出现 0 ~ n 次
+前面的内容出现 1 ~ n 次
{m}匹配前一个字符出现m次
{m,}匹配前一个字符至少出现m次
{m,n}匹配前一个字符出现从m到n次
^匹配字符串开头
$匹配字符串结尾
|匹配左右任意一个表达式
(ab)将括号中字符作为一个分组
\num引用分组num匹配到字符串,如 \1 表示引用第1组的数据, \2 表示引用第2组的数据

相关文章:

  • DAY 44 训练
  • 卷积核、FIR滤波器与LTI系统——一回事
  • ​​企业大模型服务合规指南:深度解析备案与登记制度​​
  • 第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
  • CppCon 2015 学习:Time Programming Fundamentals
  • UML 2.0 图的细分类别及其应用
  • 【大厂机试题解法笔记】食堂供餐
  • 如何删除linux空的文件夹
  • deepbayes lecture2:变分推断
  • “详规一张图”——新加坡土地利用数据
  • Open3D 对点云进行去噪(下采样、欧式聚类分割)01
  • 基于算法竞赛的c++编程(25)指针简单介绍和简单应用
  • 【Vue】scoped+组件通信+props校验
  • DingDing机器人群消息推送
  • 二维FDTD算法仿真
  • JVM如何优化
  • Qt学习及使用_第1部分_认识Qt---Qt开发基本流程
  • AirPosture | 通过 AirPods 矫正坐姿
  • while/do while/for循环几个小细节
  • 免费数学几何作图web平台
  • 购物网站 怎么做/百度软件应用中心下载
  • 深圳宝安区有什么好玩的地方/优化百度搜索
  • 做外贸的网站平台有哪些/企业推广网
  • 在家帮诈骗团伙做网站/网络seo推广
  • 贺州住房和城乡建设部网站/重庆网站制作系统
  • wordpress评论点回复不刷新/沈阳网站关键词优化多少钱