Python 正则表达式学习笔记

本文深入解析正则表达式的逻辑公式,涵盖字符、数量及相反字符匹配规则,详解正则表达式在字符串操作中的应用,包括特殊字符的含义、重复次数的控制以及非贪婪模式的使用。

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

	正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
	![在这里插入图片描述](https://img-blog.csdnimg.cn/20191123145942664.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzcyMTM2OQ==,size_16,color_FFFFFF,t_70)

(图片来自网络,侵删)

 **常用字符匹配规则**	
符号	说明
.		匹配除换行符以外的任意字符
\w		匹配字母或数字或下划线
\s		匹配任意的空白符
\d		匹配数字
\b		匹配单词的开始或结束
^		匹配字符串的开始
$		匹配字符串的结束
**常用数量规则**	
符号	说明
*		重复零次或更多次
+		重复一次或更多次
?		重复零次或一次
{n}		重复n次
{n,}	重复n次或更多次
{n,m}	重复n到m次
**常用相反字符匹配规则**	
符号	说明
\W		匹配任意不是字母,数字,下划线,汉字的字符
\S		匹配任意不是空白符的字符
\D		匹配任意非数字的字符
\B		匹配不是单词开头或结束的位置
[^x]	匹配除了x以外的任意字符
[^aeiou]	匹配除了aeiou这几个字母以外的任意字符


常用字符

1、.*

	. 表示匹配除换行符 \n 之外的任何单字符,*表示零次或多次。.*表示任意字符出现零次或多次。

2. .*?与.+?

	. 表示匹配所有字符(除换行符\n)
	*表示匹配0-任意次
	+表示匹配1-任意次
	? 表示匹配0次或1次,或指明一个非贪婪限定符
	.*?或者.+?,表示非贪婪模式(也称表示懒惰模式,懒惰嘛,就是要少匹配)。就是匹配尽可能少的字符,表示精确匹配。
	.*与.+表示贪心算法,表示要尽可能多的匹配	(也称表示非懒惰模式)。

3、()

	() 表示要获取括弧之间的信息。		

4、Python re.findall中正则表达式参数re.S

	在字符串中,包含换行符\n:
	如果不使用re.S参数,则只在每一行内进行匹配,即按行匹配,如果一行没有,就换下一行重新开始。
	使用re.S参数,正则表达式会将这个字符串作为一个整体,在整体中进行匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值