文章目录
- 匹配数字 d:匹配任意数字,等价于[0-9] D:匹配任意非数字,等价于[^0-9] 示例:r'd+'匹配一个或多个连续数字 匹配字母和数字 w:匹配字母、数字或下划线,等价于[a-zA-Z0-9_] W:匹配非字母、数字、下划线,等价于[^a-zA-Z0-9_] 匹配空白字符 s:匹配任意空白字符(空格、制表符、换行等) S:匹配任意非空白字符 匹配任意字符 .:匹配除换行符外的任意单个字符
- 匹配邮箱地址 r'[w.-]+@[w.-]+.w+’ 匹配URL r’https?://(?:[-w.]|(?:%[da-fA-F]{2}))+’ 匹配IP地址 r’b(?:d{1,3}.){3}d{1,3}b’ 匹配中文 r'[u4e00-u9fa5]’ 匹配日期(YYYY-MM-DD格式) r’d{4}-d{1,2}-d{1,2}’ 匹配手机号码(中国大陆) r’1[3-9]d{9}’ 匹配HTML标签 r'<[^>]+>’ 匹配身份证号(18位) r'[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]’
- *:匹配前一个字符0次或多次 +:匹配前一个字符1次或多次 ?:匹配前一个字符0次或1次 {n}:匹配前一个字符恰好n次 {n,}:匹配前一个字符至少n次 {n,m}:匹配前一个字符n到m次
- ^:匹配字符串开头 $:匹配字符串结尾 b:匹配单词边界 B:匹配非单词边界
- ():创建捕获组 (?:):创建非捕获组 (?P<name>):命名捕获组
- re.match():从字符串开头匹配 re.search():搜索整个字符串 re.findall():返回所有匹配结果 re.finditer():返回匹配结果的迭代器 re.sub():替换匹配的字符串 re.split():根据模式分割字符串
- import re # 查找所有数字 text = “我有3个苹果和5个橙子” numbers = re.findall(r’d+’, text) # [‘3’, ‘5’] # 验证邮箱格式 email = “test@example.com” if re.match(r'[w.-]+@[w.-]+.w+’, email): print(“邮箱格式正确”) # 提取URL html = ‘<a href=”https://www.example.com” rel=”external nofollow” >链接</a>’ url = re.search(r’href=”(https?://[^” rel=”external nofollow” ]+)”‘, html).group(1) 到此这篇关于python常用的正则表达式及作用的文章就介绍到这了,更多相关python正则表达式内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python正则表达式中的re.S的作用详解 Python正则表达式以及常用匹配实例 python常用的正则表达式大全 Python正则表达式常用函数总结 Python常用正则表达式符号浅析 python的正则表达式re模块的常用方法
目录
- Python常用正则表达式及作用
- 基本匹配模式
- 常用正则表达式示例
- 常用量词
- 边界匹配
- 分组和捕获
- 常用re模块方法
- 示例代码
正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持:
-
匹配数字
d:匹配任意数字,等价于[0-9]
D:匹配任意非数字,等价于[^0-9]
- 示例:
r'd+'匹配一个或多个连续数字
-
匹配字母和数字
w:匹配字母、数字或下划线,等价于[a-zA-Z0-9_]
W:匹配非字母、数字、下划线,等价于[^a-zA-Z0-9_]
-
匹配空白字符
s:匹配任意空白字符(空格、制表符、换行等)
S:匹配任意非空白字符
-
匹配任意字符
.:匹配除换行符外的任意单个字符
匹配数字
d:匹配任意数字,等价于[0-9]D:匹配任意非数字,等价于[^0-9]- 示例:
r'd+'匹配一个或多个连续数字
匹配字母和数字
w:匹配字母、数字或下划线,等价于[a-zA-Z0-9_]W:匹配非字母、数字、下划线,等价于[^a-zA-Z0-9_]
匹配空白字符
s:匹配任意空白字符(空格、制表符、换行等)S:匹配任意非空白字符
匹配任意字符
.:匹配除换行符外的任意单个字符
-
匹配邮箱地址
r'[w.-]+@[w.-]+.w+'
-
匹配URL
r'https?://(?:[-w.]|(?:%[da-fA-F]{2}))+'
-
匹配IP地址
r'b(?:d{1,3}.){3}d{1,3}b'
-
匹配中文
r'[u4e00-u9fa5]'
-
匹配日期(YYYY-MM-DD格式)
r'd{4}-d{1,2}-d{1,2}'
-
匹配手机号码(中国大陆)
r'1[3-9]d{9}'
-
匹配HTML标签
r'<[^>]+>'
-
匹配身份证号(18位)
r'[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]'
匹配邮箱地址
r'[w.-]+@[w.-]+.w+'
匹配URL
r'https?://(?:[-w.]|(?:%[da-fA-F]{2}))+'
匹配IP地址
r'b(?:d{1,3}.){3}d{1,3}b'
匹配中文
r'[u4e00-u9fa5]'
匹配日期(YYYY-MM-DD格式)
r'd{4}-d{1,2}-d{1,2}'
匹配手机号码(中国大陆)
r'1[3-9]d{9}'
匹配HTML标签
r'<[^>]+>'
匹配身份证号(18位)
r'[1-9]d{5}(18|19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[12]d|3[01])d{3}[dXx]'
*:匹配前一个字符0次或多次
+:匹配前一个字符1次或多次
?:匹配前一个字符0次或1次
{n}:匹配前一个字符恰好n次
{n,}:匹配前一个字符至少n次
{n,m}:匹配前一个字符n到m次
*:匹配前一个字符0次或多次+:匹配前一个字符1次或多次?:匹配前一个字符0次或1次{n}:匹配前一个字符恰好n次{n,}:匹配前一个字符至少n次{n,m}:匹配前一个字符n到m次
^:匹配字符串开头
$:匹配字符串结尾
b:匹配单词边界
B:匹配非单词边界
^:匹配字符串开头$:匹配字符串结尾b:匹配单词边界B:匹配非单词边界
():创建捕获组
(?:):创建非捕获组
(?P<name>):命名捕获组
():创建捕获组(?:):创建非捕获组(?P<name>):命名捕获组
re.match():从字符串开头匹配
re.search():搜索整个字符串
re.findall():返回所有匹配结果
re.finditer():返回匹配结果的迭代器
re.sub():替换匹配的字符串
re.split():根据模式分割字符串
re.match():从字符串开头匹配re.search():搜索整个字符串re.findall():返回所有匹配结果re.finditer():返回匹配结果的迭代器re.sub():替换匹配的字符串re.split():根据模式分割字符串
import re
# 查找所有数字
text = "我有3个苹果和5个橙子"
numbers = re.findall(r'd+', text) # ['3', '5']
# 验证邮箱格式
email = "test@example.com"
if re.match(r'[w.-]+@[w.-]+.w+', email):
print("邮箱格式正确")
# 提取URL
html = '<a href="https://www.example.com" rel="external nofollow" >链接</a>'
url = re.search(r'href="(https?://[^" rel="external nofollow" ]+)"', html).group(1)
到此这篇关于python常用的正则表达式及作用的文章就介绍到这了,更多相关python正则表达式内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- Python正则表达式中的re.S的作用详解
- Python正则表达式以及常用匹配实例
- python常用的正则表达式大全
- Python正则表达式常用函数总结
- Python常用正则表达式符号浅析
- python的正则表达式re模块的常用方法