Python全系列 教程
3567个小节阅读:5929.4k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
语法
字符 | 功能 |
---|---|
丨 | 匹配左右任意一个表达式 |
(ab) | 将括号中的字符作为一个分组 |
\num | 引用分组num匹配到的字符串 |
(?p | 分别起组名 |
(?p=name) | 引用别名为name分组匹配到的字符串 |
示例1 |的使用
匹配0-100之间所有的数字
xxxxxxxxxx
pattern = '[1-9]?\d$|100$'
v = re.match(pattern,'0')
print(v)
v = re.match(pattern,'10')
print(v)
v = re.match(pattern,'100')
print(v)
v = re.match(pattern,'99')
print(v)
v = re.match(pattern,'200')
print(v)
示例2 ()的使用
匹配座机号码
xxxxxxxxxx
#匹配一个固定电话号码 010-66668888
pattern = r'(\d+)-(\d{5,8}$)'
v = re.match(pattern,'010-66668888')
print(v)
print(v.group())
print(v.group(1))
print(v.group(2))
print(v.groups())
print(v.groups()[0])
print(v.groups()[1])
示例3 \num 的使用
xxxxxxxxxx
#
s = '
我是标题 '#优化前
# pattern = r'<.+><.+>.+'
#优化后 可以使用分组 \2 表示引用第2个分组 \1表示引用第1个分组
pattern = r'<(.+)><(.+)>.+\2>\1>'
v = re.match(pattern,s)
print(v)
示例4 ?P<要起的别名> (?P=起好的别名)
xxxxxxxxxx
s = '
我是一号字体
'# pattern = r'<(.+)><(.+)>.+\2>\1>'
#如果分组比较多的话,数起来比较麻烦,可以使用起别名的方法?P<要起的名字> 以及使用别名(?P=之前起的别名)
pattern = r'<(?P
.+)><(?P .+)>.+(?P=key2)>(?P=key1)>' v = re.match(pattern,s)
print(v)