python re 正则表达式库的使用
2023-09-27 14:27:29 时间
. 匹配任何字符,除了\n,占位符
* 匹配前一个字符0次或无限次
+ 匹配前一个字符1次或无限次
? 匹配前一个字符0次或1次
.* 贪心算法
.*? 非贪心算法
() 括号内的数据作为结果返回
(\d+) 匹配纯数字
[] 对单个字符给出取值范围, [abc]:a.b.c [a-z]:a到z字符
[^] 对单个字符排除范围, [^abc]:非a或b或c
| 或, abc|def:abc或def
{m} 扩展前一个字符m次, ab{2}c:abbc
^ 匹配字符串开头
$ 匹配字符串结尾
\d 数字,等价于[0-9]
2.正则表达式常用方法
findall:匹配符合规则的内容,返回结果的列表
search: 匹配并提取第一个符合规则的内容,返回一个正则表达式对象(object)
.group(2) 取第二个
匹配一个内容时,用search,提高效率
sub: 替换符合规律的内容,返回替换后的值
re.sub("xx(.*?)xx","替换为该内容", 原字符串)
3.列子
a = "xuufhxxixxaasfasxxlovexxasdasdaxxyouxxasdasa"
print(re.findall("xx.*xx", a))
>>>['xxixxaasfasxxlovexxasdasdaxxyouxx']
print(re.findall("xx.*?xx", a))
>>>['xxixx', 'xxlovexx', 'xxyouxx']
print(re.findall("xx(.*?)xx", a))
>>>['i', 'love', 'you']
-
re.S的使用
a = """xuufhxxixxaasfasxx lovexxasdasdaxxyouxxasdasa""" print(re.findall("xx(.*?)xx", a, re.S)) >>>['i', 'love', 'you'] 作用:使‘.’号匹配换行符(\n) 扩展: re.I 忽略大小写 re.M ^字符能将每行当作字符串匹配开始
5.当表达式有特殊符号时,用r转义
r('正则表达式')
6.正则表达式的两种使用方法
# 一次操作
a = re.search(r'xxx', str)
# 正则表达式需要多次使用
b = re.compile(r'xxx')
a = b.search(str)
相关文章
- Python正则表达式指南
- Python正则表达式很难?一篇文章就行,不是我吹
- 【华为OD机试真题 python】没有回文串 【2022 Q4 | 200分】
- python遇到的知识点
- python中netaddr库用法详解
- python re模块正则表达式详解
- 【Python】url编码/解码/转义
- 删除数组中的重复元素,并返回去重的数组之Python解法
- 《Python核心编程(第3版)》——1.3 正则表达式和Python语言
- 《Python 3程序开发指南(第2版•修订版)》——1.3 实例
- 《趣学Python——教孩子学编程》——1.5 你学到了什么
- k8s格式化apache日志正则表达式(python)
- python正则表达式3-模式匹配
- python正则表达式2
- python 基础 之 re正则表达式的知识点整理,并简单使用说明
- python五十七课——正则表达式(多个字符)
- Python三角函数
- 【Python养成】:正则表达式测试案例 —— 1