Python 正则表达式基础知识点及实例
什么是正则表达式
正则表达式,也称为 regex 或 regexp,是一种用于匹配文本模式的工具,它提供了一种强大、灵活、通用的方式来查找文本中的特定模式。Python 中的正则表达式是通过 re 模块实现的。
re 模块常用函数
1. re.search()
re.search() 方法用于在文本中查找匹配的子串,并返回第一个匹配的子串。如果搜索不到返回 None。
import re
# 查找第一个匹配的子串
str = 'Hello, Python!'
res = re.search('Python', str)
print(res.group())
输出结果:Python
2. re.match()
re.match() 方法用于从文本开始处匹配一个正则表达式模式,并返回匹配的第一个子串。如果匹配不到则返回 None。
import re
# 从文本开始处匹配子串
str = 'Hello, Python!'
res = re.match('Hello', str)
print(res.group())
输出结果:Hello
3. re.findall()
re.findall() 方法用于在文本中查找匹配的子串,返回一个包含所有匹配子串的列表。如果没有匹配则返回空列表。
import re
# 查找所有匹配的子串
str = 'Hello, Python! I love Python!'
res = re.findall('Python', str)
print(res)
输出结果:['Python', 'Python']
正则表达式语法
1. 常用字符
在正则表达式中,一些常用的字符含义如下:
字符 | 含义 |
---|---|
. | 匹配除换行符 \n 外的任何字符 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次 |
\ | 转义字符 |
[] | 字符集,匹配方括号中包含的任意字符 |
^ | 匹配字符串开头 |
$ | 匹配字符串结尾 |
2. 元字符
在正则表达式中,有一些元字符具有特殊的含义,如下:
元字符 | 含义 |
---|---|
() | 捕获组 |
{} | 重复前面的子表达式若干次 |
| | 或,匹配 | 左边或右边的子表达式 |
\d | 数字字符,等价于 [0-9] |
\w | 单词字符,等价于 [a-zA-Z0-9_] |
\s | 空白字符,包括空格、制表符、换行符等 |
\t | 制表符 |
\n | 换行符 |
\r | 回车符 |
\b | 单词边界 |
\B | 非单词边界 |
示例
1. 匹配手机号码
以下示例展示了如何使用正则表达式匹配中国大陆的手机号码。
import re
# 匹配手机号码
phone = '13512341234'
pattern = r'^1[3-9]\d{9}$'
res = re.match(pattern, phone)
if res:
print(res.group())
else:
print('不是手机号码')
输出结果:13512341234
2. 匹配电子邮件
以下示例展示了如何使用正则表达式匹配电子邮件。
import re
# 匹配电子邮件
email = 'test123@mail.com'
pattern = r'^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$'
res = re.match(pattern, email)
if res:
print(res.group())
else:
print('不是电子邮件')
输出结果:test123@mail.com
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 正则表达式基础知识点及实例 - Python技术站