下面是对“Python中正则表达式的用法总结”的完整实例教程。
一、什么是正则表达式
正则表达式是一种字符串匹配的工具,用来模糊匹配、精确匹配等。在Python中,正则表达式是通过re
模块来进行操作的。下面列出几个基础的正则表达式。
.
:匹配一个任意字符^
:匹配开头$
:匹配结尾*
:匹配前一个字符出现0次或多次(贪婪匹配)+
:匹配前一个字符出现1次或多次(贪婪匹配)?
:匹配前一个字符出现0次或1次{n}
:匹配前一个字符出现n次{n,m}
:匹配前一个字符出现n次到m次
二、re模块的常用方法
1. re.match(pattern, string, flags=0)
re.match()
方法是从字符串开头开始匹配,如果匹配不成功返回None
。其函数参数如下:
pattern
:正则表达式string
:需要匹配的字符串flags
:可选参数,控制正则表达式的匹配方式
示例:
import re
pattern = '^hello'
string = 'hello world'
result = re.match(pattern, string)
print(result) # <re.Match object; span=(0, 5), match='hello'>
2. re.search(pattern, string, flags=0)
re.search()
方法搜索整个字符串,返回第一个匹配的位置。如果没有匹配到,返回None
。其函数参数如下:
pattern
:正则表达式string
:需要匹配的字符串flags
:可选参数,控制正则表达式的匹配方式
示例:
import re
pattern = 'world$'
string = 'hello world'
result = re.search(pattern, string)
print(result) # <re.Match object; span=(6, 11), match='world'>
3. re.findall(pattern, string, flags=0)
re.findall()
方法搜索整个字符串,返回所有匹配的结果。其函数参数如下:
pattern
:正则表达式string
:需要匹配的字符串flags
:可选参数,控制正则表达式的匹配方式
示例:
import re
pattern = 'o'
string = 'hello world'
result = re.findall(pattern, string)
print(result) # ['o', 'o']
三、实例教程
1. 匹配邮箱地址
我们来编写一个正则表达式来匹配邮箱地址。邮箱地址一般包含用户名、域名和后缀。示例代码如下:
import re
pattern = '\w+@\w+\.\w+'
string = '邮箱地址为 wuqian99@foxmail.com'
result = re.search(pattern, string)
print(result.group()) # wuqian99@foxmail.com
2. 匹配手机号码
再来编写一个正则表达式来匹配中国大陆手机号码。手机号码由11位数字组成,首位数字为1。示例代码如下:
import re
pattern = '^1\d{10}$'
string = '手机号码为 13800000000'
result = re.search(pattern, string)
print(result.group()) # 13800000000
以上就是关于Python中正则表达式的用法总结和实例教程的详细讲解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中正则表达式的用法总结 - Python技术站