栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python–正则

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python–正则

python–正则 正则表达式

正则表达式:导入re模块
参考链接: link.

import re

'''正则表达式模式'''
# .匹配除换行符之外的任何字符
# A|B表示匹配表达式A或者B
# ^匹配输入字符串开始位置
# [^..]取反
# $匹配输入字符串结尾位置
# w匹配任何单词字符
# W匹配任何非单词字符
# 将一个普通字符变成特殊字符例如d(非数字D);或者解除元字符特殊功能例如.
# [...]字符类,匹配所包含的任意字符,例如[1-5],[a-z]
# {M,N}M和N均为非负整数,表示匹配了M~N次,M、N可以置空
# *匹配前面的子表达式零次或者多次,等价{0,}
# +匹配前面的子表达式零次或者多次,等价{1,}
# ?匹配前面的子表达式零次或者一次,等价{0,1}
# *?,+?,??匹配模式是非贪婪模式(默认贪婪模式)
# {M,N}?启动非贪婪模式,只匹配M次

'''正则表达式修饰符'''
# re.I 是匹配对大小写不敏感
# re.L 本地化识别
# re.M 多行匹配
# re.S 使.匹配换行之内所有字符
# re.U 根据Uniconde解析字符
# re.X 更灵活的格式

a = '1234567890zabbbbcdefg*25.254.1.12!.abcd'

# re.match表达式
print(re.match('123', a))  # 起始位置匹配,不是返回None
match_ans = re.match('123', a)
print(match_ans.group())  # 返回匹配到的字符串

# re.search表达式
print(re.search(r'.', a))  # .代表任意字符
print(re.search(r'.', a))  # 消除元字符能力,赋予普通字符能力
print(re.search(r'd', a))  # 匹配数字
print(re.search(r'[aeiou]', a))  # 任意一个匹配就算成功
print(re.search(r'[b-z]', a))  # 小横杠表示范围
print(re.search(r'[0-9][4-8][6-7]', a))  # 数字范围
print(re.search(r'ab{4}c', a))  # {}重复匹配
print(re.search(r'ab{3,5}c', a))  # {}重复匹配范围
print(re.search(r'(([01]{0,1}d{0,1}d|2[0-4]d|25[0-5]).){3}([01]{0,1}d{0,1}d|2[0-4]d|25[0-5])', a))
print(re.search((r'(abc)1'), 'abcabcd'))

# re.sub检索替换
ano_a = re.sub(r'1', '(1)', a)  # 正则,替换字符串,源字符串
print(ano_a)

# re.compile编译正则表达式
a_re = re.compile(r'([0-9]+)([a-z]+)')
m = a_re.match(a)
print(m)
print(type(m), m.start(), m.end(), m.span())
print(m.group(), m.group(1), m.group(2), m.groups())

# re.findall表示找到所有匹配内容并做一个结果返回,返回列表
print(re.findall(r'[a-z]+', a))

# re.split按照所能匹配到的子串将字符串切分,返回切分列表
print(re.split(r'[a-z]+', a))
print(re.split('W+', a))
# 如果加上括号,结果会同时返回去掉的值
print(re.split('(W+)', a))
# 只切分了一次
print(re.split('W+', a, 1))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号