PYthon正则表达式

本文详细介绍了正则表达式的基本概念、语法结构(包括字符与字符类、量词、组与捕获、断言与标记等),以及在Python中的re模块使用方法,涵盖了匹配、搜索、替换和分割等功能及其相关操作和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

1 正则表达式语法

1.1 字符与字符类

1.1.1 特殊字符

\.^$?+*{}[]()|
以上特殊字符要想使用字面值,必须使用\进行转义

1.1.2 字符类    

  • 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时如果没有指定量词则只会匹配其中的一个。

  • 字符类内可以指定范围,比如[a-zA-Z0-9]表示a到z,A到Z,0到9之间的任何一个字符

  • 左方括号后跟随一个^,表示否定一个字符类,比如[^0-9]表示可以匹配一个任意非数字的字符。

  • 字符类内部,除了\之外,其他特殊字符不再具备特殊意义,都表示字面值。^放在第一个位置表示否定,放在其他位置表示^本身,-放在中间表示范围,放在字符类中的第一个字符,则表示-本身。

  • 字符类内部可以使用速记法,比如\d \s \w

1.1.3 速记法

  • . 可以匹配除换行符之外的任何字符,如果有re.DOTALL标志,则匹配任意字符包括换行

  • \d 匹配一个Unicode数字,如果带re.ASCII,则匹配0-9

  • \D 匹配Unicode非数字

  • \s 匹配Unicode空白,如果带有re.ASCII,则匹配\t\n\r\f\v中的一个

  • \S 匹配Unicode非空白

  • \w 匹配Unicode单词字符,如果带有re.ascii,则匹配[a-zA-Z0-9_]中的一个

  • \W 匹配Unicode非单子字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧医疗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值