验证一个数字: ^\d$ 必须有一个数字,最少一位: ^\d+$ 只能出现数字,且位数为5-10位: ^\d{5,10}$ 注册者输入年龄,要求16岁以上,99岁以下: ^[16,99]$ 只能输入英文字符和数字: ^[A-Za-z0-9]$ 验证qq号码: [0-9]{5,12}# 导入相关包
import re
# 查找数字
# r表示字符串不转义
p = re.compile(r'\d+')
# 在字符串“one12twothree33456four78”中进行查找,按照规则p制定的正则进行查找
# 返回结果是None表示没有找到,否则会返回match对象
m = p.match("one12twothree33456four78")
print(m)None# 导入相关包
import re
# 查找数字
# r表示字符串不转义
p = re.compile(r'\d+')
# 在字符串“one12twothree33456four78”中进行查找,按照规则p制定的正则进行查找
# 返回结果是None表示没有找到,否则会返回match对象
# 参数3,6表示在字符串中查找的范围
m = p.match("one12twothree33456four78", 3, 26)
print(m)
# 上述代码说明的问题
# 1. match可以输入参数表示起始位置
# 2. 查找到的结果只包含一个,表示第一次进行匹配成功的内容<_sre.SRE_Match object; span=(3, 5), match='12'>print(m[0])
print(m.start(0))
print(m.end(0))1235import re
# I 表示忽略掉大小写
p = re.compile(r'([a-z]+) ([a-z]+)', re.I)
m = p.match("I am really love you")
print(m)<_sre.SRE_Match object; span=(0, 4), match='I am'>print(m.group(0))
print(m.start(0))
print(m.end(0))I am04print(m.group(1))
print(m.start(1))
print(m.end(1))I01print(m.group(2))
print(m.start(2))
print(m.end(2))am24print(m.groups())('I', 'am')import re
p = re.compile(r'\d+')
m = p.search("one12two34three567four")
print(m.group())12rst = p.findall("one12two34three567four")
print(type(rst))
print(rst)<class 'list'>['12', '34', '567']# sub替换案例
import re
# \w 包含数字和英文字母
p = re.compile(r'(\w+) (\w+)')
s = "hello 123 wang 456, i love you"
rst = p.sub(r'Hello world', s)
print(rst)Hello world Hello world, Hello world youimport re
title = '世界 你好, hello moto'
p = re.compile(r'[\u4e00-\u9fa5]+')
rst = p.findall(title)
print(rst)['世界', '你好']import re
title = u'<div>name</div><div>age</div>'
p1 = re.compile(r'<div>.*</div>')
p2 = re.compile(r'<div>.*?</div>')
m1 = p1.search(title)
print(m1.group())
m2 = p2.search(title)
print(m2.group())<div>name</div><div>age</div><div>name</div>原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。