Python学习笔记:3.3.2 re模块与正则表达式

本文是《Python全栈工程师》课程笔记,详细介绍了正则表达式的基础知识和Python的re模块。通过学习,你可以了解正则表达式的概念、组成及特殊字符,掌握如何使用re模块的match、search、sub等函数,并能应用正则表达式进行字符串匹配和处理。
摘要由CSDN通过智能技术生成

本文是学习齐老师的《python全栈工程师》课程的笔记,欢迎学习交流。同时感谢齐老师的精彩传授!

一、课程目标
  • 了解正则表达式
  • 掌握标准库的re模块的应用
二、详情解读

01.正则表达式:

  • 正则表达式(Regular Expression,简写:regexp,re),又称“规则运算式”。它是用来描述某种规则的表达式,定义好一些特定字符、及这些特定字符的组合,组成一个"规则字符串“。
  • 一个正则表达式通常被称为一个模式(pattern),用于描述或者匹配一系列的符合某个语法规则的字符串。
  • 正则表达式的组成可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
  • 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为”元字符“)组成的文字模式。
  • 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
  • 普通字符包括没有显示指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。
    在这里插入图片描述
  • 特殊字符:一些有特殊含义的字符。比如 runoo * b中的*,表示任何字符串的意思。
  • 若要匹配这些特殊字符,必须首先使字符”转义“,即,将反斜杠字符\放在它们前面。
    在这里插入图片描述
    在这里插入图片描述
  • 定位符:将正则表达式固定到行首或行尾。
  • 定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界。

示例:
在这里插入图片描述

  • 汉字:^ [\u4e00-\u9fa5]{0,}$
  • 英文和数字:^ [A-Za-z0-9]+$ 或 ^ [A-Za-z0-9]{4,40}$
  • 日期格式:^\d{4}-\d{1,2}-\d{1,2}$

02.re模块: re模块使Python语言拥有全部的正则表达式功能。
官方文档:https://docs.python.org/zh-cn/3/library/re.html

  • 常用函数举例:
    – match:尝试从字符串的起始位置匹配一个模式
    – search:扫描整个字符串并返回第一个成功的匹配
    – sub:用于替换字符串中的匹配项
    – compile:用于编译正则表达式,生成一个正则表达式(Pattern)对象,供 match() 和 search() 这两个函数使用。
    – findall:在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
    – split:按照能够匹配的子串将字符串分割后返回列表。
# 交互模式下:
>>> import re
>>> re.match('w*', 'www.google.com')
<re.Match object; span=(0, 3), match='www'>
>>> r = re.match('w*', 'www.google.com')
>>> r.group()
'www'
>>> re.match('com'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值