验证一个数字: ^\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))
12
3
5
import 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 am
0
4
print(m.group(1))
print(m.start(1))
print(m.end(1))
I
0
1
print(m.group(2))
print(m.start(2))
print(m.end(2))
am
2
4
print(m.groups())
('I', 'am')
import re
p = re.compile(r'\d+')
m = p.search("one12two34three567four")
print(m.group())
12
rst = 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 you
import 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 删除。