Python正则表达式函数:使用正则表达式匹配和替换文本的方法
Python中的re模块提供了一系列函数,用于使用正则表达式对文本进行匹配和替换。下面是其中一些常用的函数:
1. re.match(pattern, string, flags=0):尝试从字符串的起始位置匹配一个模式,如果匹配成功则返回一个匹配对象,否则返回None。
2. re.search(pattern, string, flags=0):搜索字符串中 个匹配正则表达式的位置,如果匹配成功则返回一个匹配对象,否则返回None。
3. re.findall(pattern, string, flags=0):以列表的形式返回字符串中所有匹配正则表达式的子串。
4. re.sub(pattern, repl, string, count=0, flags=0):用repl替换字符串中所有匹配正则表达式的子串,count用于指定替换的次数,默认为0表示替换所有匹配项。
5. re.split(pattern, string, maxsplit=0, flags=0):使用正则表达式的模式对字符串进行拆分,maxsplit用于指定最大拆分次数,默认为0表示所有匹配项都拆分。
下面是一个使用正则表达式进行匹配和替换的例子:
import re
text = "Hello, my name is John. I live in New York."
pattern = r'\b\w{4}\b' # 匹配四个字母的单词
# 使用re.match匹配
match = re.match(pattern, text)
if match:
print("匹配成功:", match.group())
else:
print("匹配失败")
# 使用re.search匹配
match = re.search(pattern, text)
if match:
print("匹配成功:", match.group())
else:
print("匹配失败")
# 使用re.findall匹配
matches = re.findall(pattern, text)
print("所有匹配结果:", matches)
# 使用re.sub替换
new_text = re.sub(pattern, "TEST", text)
print("替换结果:", new_text)
# 使用re.split拆分
words = re.split(pattern, text)
print("拆分结果:", words)
运行上面的代码,输出结果如下:
匹配成功: John
匹配成功: John
所有匹配结果: ['John', 'live', 'York']
替换结果: Hello, my name is TEST. I TEST in TEST TEST.
拆分结果: ['Hello, my name is ', '. I ', ' in New ', '.']
