python正则表达式

本文介绍了Python中的re模块中match、search和findall函数的使用,分别用于从字符串头部匹配、查找首个匹配项和查找所有匹配项。同时,文章展示了正则表达式的元字符匹配,包括账号和邮箱地址的匹配规则示例。
摘要由CSDN通过智能技术生成

match、search、findall基本使用

import re

s = "1python cppjyh python python"

# match 从头开始匹配

result = re.match("python", s)
print(result)


# search 不要求一定从头开始匹配,返回从左往右第一个匹配到的结果
result = re.search("python", s)
print(result)
print(result.span())
print(result.group())

# findall 搜索全部匹配
result = re.findall("python", s)
print(result)

输出:

None

<re.Match object; span=(1, 7), match=‘python’>

(1, 7)

python

[‘python’, ‘python’, ‘python’]

正则表达式的元字符匹配

常用元字符规则如下:
在这里插入图片描述

例子

import re
# 例一:匹配账号,只能由字母和数字组成,长度限制6到10位
# ^&表示从头到尾要完整匹配
r = '^[0-9a-zA-Z]{6,10}$'
s = '123456_'
print(re.findall(r, s))

# 例二:匹配账号,要求纯数字,长度5-11位,第一位不为0
r = '^[1-9][0-9]{4,10}$'
s = '7913319702'
print(re.findall(r, s))

# 例三:匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
# 格式如: {内容}.{内容}.{内容}.{内容}@{内容}.{内容}.{内容}.{内容}
r = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
# [\w-]+ 代表匹配单词字符加上- 可以出现1次至无数次
s = 'a.bsd.sk.w.ww@qq.com.wmd.ww'
print(re.match(r, s))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值