IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python–正则 -> 正文阅读

[数据结构与算法]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))
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:33:19  更:2021-09-29 10:34:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 9:48:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码