正则表达式(Regular Expression,简称Regex)是一种富强的文本处理东西,它可能对字符串停止复杂的婚配、查找跟调换操纵。Python中的re
模块供给了对正则表达式的支撑,使得我们可能轻松地在Python代码中利用正则表达式。
re.match(pattern, string, flags=0)
re.match()
函数实验从字符串的肇端地位婚配一个正则表达式。假如婚配成功,前去一个婚配东西;假如不婚配,则前去None
。
import re
pattern = r'd'
string = '123abc'
result = re.match(pattern, string)
if result:
print(result.group()) # 输出: 123
else:
print("No match found!")
re.search(pattern, string, flags=0)
re.search()
函数用于扫描全部字符串,找到第一个婚配的子串。假如找到婚配,前去婚配东西,不然前去None
。
import re
pattern = r'd'
string = 'abc123xyz'
result = re.search(pattern, string)
if result:
print(result.group()) # 输出: d
else:
print("No match found!")
re.findall(pattern, string, flags=0)
re.findall()
函数前去字符串中全部非堆叠的与形式婚配的字符串列表。
import re
pattern = r'\d+' # 婚配一个或多个数字
string = 'The price is 100 dollars.'
result = re.findall(pattern, string)
print(result) # 输出: ['100', '100']
re.finditer(pattern, string, flags=0)
re.finditer()
函数查找字符串中全部非堆叠的形式,前去一个迭代器,包含全部婚配东西。
import re
pattern = r'\d+' # 婚配一个或多个数字
string = 'The price is 100 dollars and 200 euros.'
for match in re.finditer(pattern, string):
print(match.group()) # 输出: 100, 200
re.sub(pattern, repl, string, count=0, flags=0)
re.sub()
函数用指定的调换字符串repl
调换全部与形式婚配的非堆叠部分,并前去调换后的字符串。
import re
pattern = r'\d+' # 婚配一个或多个数字
repl = 'X'
string = 'The price is 100 dollars.'
result = re.sub(pattern, repl, string)
print(result) # 输出: The price is XX dollars.
re.split(pattern, string, maxsplit=0, flags=0)
re.split()
函数利用形式作为分开符,将字符串分割成列表。
import re
pattern = r'\s+' # 婚配一个或多个空白字符
string = 'Hello, World!'
result = re.split(pattern, string)
print(result) # 输出: ['Hello', 'World!']
正则表达式中的元字符存在特别意思,用于定义婚配形式。以下是一些常用的元字符:
.
:婚配除换行符外的恣意单个字符。[]
:婚配括号内的恣意一个字符。()
:分组,用于提取婚配的子串。*
:婚配前一个字符0次或多次。+
:婚配前一个字符1次或多次。?
:婚配前一个字符0次或1次。^
:婚配字符串扫尾。$
:婚配字符串开头。控制Python re
模块跟正则表达式,可能帮助我们高效地处理字符串,进步代码的可读性跟可保护性。经由过程本文的介绍,信赖你曾经对正则表达式有了更深刻的懂得。在以后的任务中,可能实验将正则表达式利用到各种场景中,进步任务效力。