python正则_Python中的正则表达式

这篇博客介绍了Python中的正则表达式及其在文本处理中的应用。通过`re`模块,可以进行字符串的匹配、替换、搜索和拆解等操作。主要方法包括:`search`、`match`、`findall`等。例如,`re.search`用于在整个字符串中查找模式,而`re.findall`则返回所有匹配项。此外,还提到了一些常用的正则表达式字符如`w`、`d`、`s`等,以及它们的反义字符。通过`re.compile`可以将模式编译为模式对象,提高效率。博客提供了几个实例来展示如何实际使用这些方法。

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

8eff63491989e2561ff4ea7d7492f262.png

正则表达式是用于查找和替换字符串中的模式的字符序列,它是用于匹配文本中的模式的工具。

在python中,我们有“re”模块,我们需要在开始之前导入它。

import re

正则表达式的主要用途

匹配字符串

替换字符串的一部分

搜索字符串

将字符串拆解成子字符串

正则表达式的方法

w --> 匹配字母数字字符 [a-z,A-Z,0-9]

W --> 匹配非字母数字字符

d --> 匹配数字 [0-9]

D --> 匹配所有非数字

s --> 匹配一个空格字符

S --->匹配除空格外的所有字符

--> 匹配制表符

--> 匹配换行符

--> 匹配回车符

. -->匹配除外的所有字符

-->对正则表达式进行分组,并返回匹配的文本

a|b -->匹配a或b

^ --> 开始位置

$ --> 结束位置

{m} --> 精确匹配m个

{m,} -->匹配至少m个

{m,n} --> 匹配个数介于m和n之间

? -->匹配模式的一次或零次出现

plus(+) -->匹配模式的一个或多个出现

eb282016d62973e22826a5dc83e9ba43.png

sub ----> 查找re匹配的所有子字符串,并用不同的字符串替换它们

subn -----> 和 sub相同, 但是返回新字符串和匹配次数

start ----> 给出开始位置

end ----> 给出结束位置

span ----> 给出子字符串的起始位置

search ----> 匹配整个字符串

match ----> 匹配第一个单词

findall ----> 在字符串中多次进行匹配

compile -----> 我们可以将模式编译成模式对象

下面我将演示如何使用其中的一些方法:

re.search

本搜索方法将搜索整个字符串并返回结果。

如果有多个匹配项,则返回搜索模式的第一个匹配项

例子:

0cc00850970f5788269738f3cf0ad955.png

re.match

搜索给定字符串的第一个单词。如果第一个单词匹配,则返回所需输出,如果第一个单词不匹配,则输出None

例子:

dda91e6fc793b40e07f1729706e9742e.png

因为hello不是字符串中的第一个单词。

re.findall

Findall返回字符串中模式的所有非重叠匹配。

例子:

333c100fd5eed5366edb00617263dea9.png

它可以匹配一个模式并使用新的子字符串进行替换。

例子:

65e672b6f73c03f99b3807fd1cfe672a.png

re.compile

我们可以将正则表达式模式组合到模式对象中,这些对象可用于模式匹配。在不重写它的情况下也可以搜索一个模式。

例子:

3aaed4e3467f692b520dba14e02281e1.png

练习

1.从给定字符串中提取所有字符

c8a564391b96559b3b29f847d9dbd553.png

2. 从给定字符串中提取每一个单词

e9ed7edb1a76b05e0ad54e87080e5191.png

3. 从给定字符串中提取所有数字

8c1e1e65f680150ae2f2e6d1b7f3ac40.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值