Python正则表达式re模块详细介绍
正则表达式是对字符串进行模式匹配和查找的工具。在Python中,我们可以使用内置的re模块来实现正则表达式的相关功能。本文将详细介绍re模块的使用方法和常见应用场景。
re模块的基本用法
Python中的re模块提供了多种函数来操作正则表达式,常用的函数包括match、search、findall、sub等。以下是各函数的介绍和用法示例:
match
用于匹配字符串的开头,如果开头符合正则表达式的要求,则返回MatchObject对象,否则返回None。
import re
pattern = r'^Hello' # 匹配以Hello开头的字符串
string = 'Hello World'
result = re.match(pattern, string) # 匹配开始位置
if result:
print(result.group()) # 输出匹配结果
else:
print('匹配失败')
输出结果为:Hello
search
用于搜索字符串中符合正则表达式要求的子串,如果找到,则返回MatchObject对象,否则返回None。
import re
pattern = r'World$' # 匹配以World结尾的字符串
string = 'Hello World'
result = re.search(pattern, string) # 执行正则表达式搜索
if result:
print(result.group()) # 输出匹配结果
else:
print('匹配失败')
输出结果为:World
findall
用于查找字符串中所有符合正则表达式要求的子串,并以列表形式返回。
import re
pattern = r'\d+' # 匹配字符串中的所有数字
string = 'Python 3.8'
result = re.findall(pattern, string) # 查找所有数字
if result:
print(result) # 输出匹配结果
else:
print('未找到匹配的字符串')
输出结果为:['3', '8']
sub
用于替换字符串中匹配到的子串。
import re
pattern = r'\s+' # 匹配所有空白符号
string = 'Python 3.8'
result = re.sub(pattern, '-', string) # 用‘-’替代字符串中的空白符
print(result)
输出结果为:Python-3.8
re模块中的常用正则表达式符号
以下是re模块中常用的正则表达式符号和它们的含义:
符号 | 含义 |
---|---|
. | 匹配任意字符 |
* | 匹配前面的字符0次或多次 |
+ | 匹配前面的字符1次或多次 |
? | 匹配前面的字符0次或1次 |
[] | 匹配中括号内任意一个字符 |
() | 匹配括号内的子表达式 |
{m,n} | 匹配前面的字符至少m次,最多n次 |
\ | 转义字符 |
示例介绍
示例一:匹配邮箱
import re
email = 'test@example.com'
pattern = r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$'
result = re.match(pattern, email) # 匹配邮箱
if result:
print('匹配成功')
else:
print('匹配失败')
输出结果为:匹配成功
示例二:匹配手机号
import re
phone = '15211111111'
pattern = r'^1[3|4|5|7|8][0-9]{9}$'
result = re.match(pattern, phone) # 匹配手机号
if result:
print('匹配成功')
else:
print('匹配失败')
输出结果为:匹配成功
总结
本文详细介绍了re模块的基本用法和常见应用场景,以及常用正则表达式符号和示例介绍。对于初学者来说,掌握基本的正则表达式知识非常重要,它在实际的编程工作中有很广泛的应用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python正则表达式re模块详细介绍 - Python技术站