文
章
目
录
章
目
录
在Python中使用正则表达式(Python正则表达式) 您可以通过在Python脚本中导入re模块来在Python代码中使用正则表达式(Regex)。这个模块定义了用于处理正则表达式的各种函数或方法。
以下表格定义了各种函数:
方法名 | 描述 |
---|---|
re.match() | re.match() 方法用于返回与正则表达式匹配的字符串。 |
re.search() | re.search() 方法在字符串或文本中找到模式时返回匹配对象。 |
re.findall() | re.findall() 方法用于返回包含所有匹配的字符串列表。 |
re.split() | re.split() 方法根据正则表达式的匹配来拆分字符串。 |
re.sub() | re.sub() 方法用于将匹配的字符串替换为另一个字符串。 |
在Python中使用正则表达式的示例
示例1:此示例有助于理解如何在Python脚本中使用findall()方法。
import re
string = 'Fruits 32, Animals 80, Cars 34' # 包含混合文本和数字的字符串
pattern = '\D+' # 正则表达式模式,匹配非数字字符(\D+ 表示匹配一个或多个非数字字符)
match = re.findall(pattern, string) # 使用 re.findall 函数根据给定的模式从字符串中提取匹配的部分
print(match) # 打印存储在 match 变量中的匹配值
这段代码使用正则表达式 \D+
从字符串中提取所有的非数字字符,并将它们存储在 match
变量中。然后,代码将这些匹配的值打印出来。在这个示例中,match
包含了 “Fruits “, ” Animals “, 和 ” Cars “,这些是字符串中的非数字部分。
输出:
['Fruits ', ', Animals ', ', Cars ']
示例2:此示例有助于理解如何在Python脚本中使用split()、search()和sub()方法。
import re
# 使用正则表达式进行字符串操作
string = 'Zero:0 one:1 Two:2 Three:3 Four:4 Five:5 Six:6 Seven:7 eight:8 Nine:9 Ten:10 Twenty:20 Thirty:30 Forty:40 Fifty:50 Sixty:60 Seventy:70 Eighty:80 Ninety:90 Hundred:100'
regex = '\d+'
# 使用正则表达式模式将字符串拆分为匹配的值
splitval = re.split(regex, string)
print(splitval)
string = 'a1 \nb2 \nc4'
pattern = '\d'
# 定义用于替换的正则表达式模式
replace = 's'
# 使用 re.sub 函数将匹配的字符替换为存储在 replace 变量中的字符串
new_string = re.sub(pattern, replace, string)
# 显示替换字符后的新字符串
print(new_string)
text = "Regular Expression is also referred as Regex."
regex = "\d"
# 使用 re.search 函数在字符串中搜索正则表达式
res = re.search(regex, text)
if res:
print("字符串中找到了正则表达式")
else:
print("字符串中未找到正则表达式")
这段代码演示了使用正则表达式进行字符串操作,包括拆分、替换和搜索。在每个示例中,代码使用正则表达式模式来执行不同的操作。
输出:
['Zero:', ' one:', ' Two:', ' Three:', ' Four:', ' Five:', ' Six:', ' Seven:', ' eight:', ' Nine:', ' Ten:', ' Twenty:', ' Thirty:', ' Forty:', ' Fifty:', ' Sixty:', ' Seventy:', ' Eighty:', ' Ninety:', ' Hundred:', '']
as
bs
cs
字符串中未找到正则表达式