python正则表达式
正则表达式是用于查找和替换字符串中的模式的字符序列,它是用于匹配文本中的模式的工具。
在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(+) -->匹配模式的一个或多个出现
image.pngsub ----> 查找re匹配的所有子字符串,并用不同的字符串替换它们
subn -----> 和 sub()相同, 但是返回新字符串和匹配次数
start ----> 给出开始位置
end ----> 给出结束位置
span ----> 给出子字符串的起始位置
search ----> 匹配整个字符串
match ----> 匹配第一个单词
findall ----> 在字符串中多次进行匹配
compile -----> 我们可以将模式编译成模式对象
re.search()
本搜索方法将搜索整个字符串并返回结果。
如果有多个匹配项,则返回搜索模式的第一个匹配项
例子:
image.png
re.match()
搜索给定字符串的第一个单词。如果第一个单词匹配,则返回所需输出,如果第一个单词不匹配,则输出None。
例子:
image.png
因为hello不是字符串中的第一个单词。
re.findall()
Findall返回字符串中模式的所有非重叠匹配。
例子:
image.png
它可以匹配一个模式并使用新的子字符串进行替换。
例子:
image.png
re.compile()
我们可以将正则表达式模式组合到模式对象中,这些对象可用于模式匹配。在不重写它的情况下也可以搜索一个模式。
例子:
image.png
练习
1.从给定字符串中提取所有字符
image.png
-
从给定字符串中提取每一个单词
image.png - 从给定字符串中提取所有数字
image.png
点击此处查看更多的正则表达式练习——https://www.w3resource.com/python-exercises/re/
关于正则表达式,我们只需要知道这些。重复练习知道你可以信手拈来。
英文原文:
https://www.codementor.io/sadhanareddy/regular-expressions-in-python-rcxs7fq0x
译者:忧郁的红秋裤