使用Python正则表达式的5个常用函数
正则表达式是一种用于匹配特定字符串模式的表达式语言。在Python中,正则表达式是由re模块实现的。re模块提供了一系列函数,用于处理字符串和正则表达式。以下是Python正则表达式的五个常用函数。
## 1. re.match()
re.match()函数是用于从字符串的起始位置开始匹配正则表达式。如果匹配成功,则返回一个匹配对象;否则返回None。re.match()函数有两个参数:pattern和string。
- pattern:正则表达式的模式字符串。
- string:要被匹配的字符串。
示例代码:
import re
# 匹配数字
match_obj = re.match(r'\d+', '123abc')
if match_obj:
print('匹配成功')
print(match_obj.group())
else:
print('匹配失败')
输出结果:
匹配成功 123
## 2. re.search()
re.search()函数用于在字符串中搜索匹配指定的正则表达式。如果搜索成功,则返回一个匹配对象;否则返回None。re.search()函数有两个参数:pattern和string。
- pattern:正则表达式的模式字符串。
- string:要被搜索的字符串。
示例代码:
import re
# 搜索数字
match_obj = re.search(r'\d+', 'abc123def')
if match_obj:
print('搜索成功')
print(match_obj.group())
else:
print('搜索失败')
输出结果:
搜索成功 123
## 3. re.findall()
re.findall()函数用于从字符串中提取符合指定正则表达式的所有字符串,并以列表的形式返回所有的匹配项。re.findall()有两个参数:pattern和string。
- pattern:正则表达式的模式字符串。
- string:要被搜索的字符串。
示例代码:
import re # 提取所有数字 matches = re.findall(r'\d+', 'abc123def45') print(matches)
输出结果:
['123', '45']
## 4. re.sub()
re.sub()函数用于在字符串中使用正则表达式搜索匹配项,并替换为指定的字符串。re.sub()函数有三个参数:pattern、repl、和string。
- pattern:正则表达式的模式字符串。
- repl:替换的字符串。
- string:要被搜索的字符串。
示例代码:
import re # 替换所有数字 replaced = re.sub(r'\d+', '*数字*', 'abc123def45') print(replaced)
输出结果:
abc*数字*def*数字*
## 5. re.split()
re.split()函数用于使用正则表达式分隔字符串。re.split()函数有两个参数:pattern和string。
- pattern:正则表达式的模式字符串。
- string:要被分隔的字符串。
示例代码:
import re # 分隔数字和非数字 splitted = re.split(r'\d+', 'abc123def45') print(splitted)
输出结果:
['abc', 'def', '']
总结:
正则表达式在Python中应用广泛,re模块提供了一系列函数,可以方便地处理字符串和正则表达式,包括匹配、搜索、提取、替换和分隔。掌握上述函数的用法是学习Python正则表达式的必要基础。
