正则表达式是用于查找和替换字符串中的模式的字符序列,它是用于匹配文本中的模式的工具。
在python中,我们有“re”模块,我们需要在开始之前导入它。
import re
正则表达式的主要用途
匹配字符串
替换字符串的一部分
搜索字符串
将字符串拆解成子字符串
正则表达式的方法
w --> 匹配字母数字字符 [a-z,A-Z,0-9]
W --> 匹配非字母数字字符
d --> 匹配数字 [0-9]
D --> 匹配所有非数字
s --> 匹配一个空格字符
S --->匹配除空格外的所有字符
t --> 匹配制表符
n --> 匹配换行符
r --> 匹配回车符
. -->匹配除n外的所有字符
-->对正则表达式进行分组,并返回匹配的文本
a|b -->匹配a或b
^ --> 开始位置
$ --> 结束位置
{m} --> 精确匹配m个
{m,} -->匹配至少m个
{m,n} --> 匹配个数介于m和n之间
? -->匹配模式的一次或零次出现
plus(+) -->匹配模式的一个或多个出现
sub ----> 查找re匹配的所有子字符串,并用不同的字符串替换它们
subn -----> 和 sub相同, 但是返回新字符串和匹配次数
start ----> 给出开始位置
end ----> 给出结束位置
span ----> 给出子字符串的起始位置
search ----> 匹配整个字符串
match ----> 匹配第一个单词
findall ----> 在字符串中多次进行匹配
compile -----> 我们可以将模式编译成模式对象
下面我将演示如何使用其中的一些方法:
re.search
本搜索方法将搜索整个字符串并返回结果。
如果有多个匹配项,则返回搜索模式的第一个匹配项
例子:
re.match
搜索给定字符串的第一个单词。如果第一个单词匹配,则返回所需输出,如果第一个单词不匹配,则输出None。
例子:
因为hello不是字符串中的第一个单词。
re.findall
Findall返回字符串中模式的所有非重叠匹配。
例子:
它可以匹配一个模式并使用新的子字符串进行替换。
例子:
re.compile
我们可以将正则表达式模式组合到模式对象中,这些对象可用于模式匹配。在不重写它的情况下也可以搜索一个模式。
例子:
练习
1.从给定字符串中提取所有字符
2. 从给定字符串中提取每一个单词
3. 从给定字符串中提取所有数字