python模块2

news/2024/9/20 19:11:28/文章来源:https://www.cnblogs.com/hutongxue/p/18423096

python模块

一、python的re模块
1、正则匹配,使用re模块
2、正则表达式是一种对字符和特殊字符操作的逻辑公式,用正则表达字符来过滤的逻辑
3、re正则表达式作用:
快速高效查找和分析字符,进行匹配如:查找、比对、匹配、替换、插入、添加、删除等
二、认识正则表达式的特殊元素:
\d:数字0-9
\D:非数字
\s:空白字符
\n:换行符
\r:回车符re模块数量词匹配:
符号^:表示的匹配字符以什么开头
符号$:表示的匹配字符以什么结尾
符号:匹配前面的字符0次或n次
eg:ab* 能匹配a 匹配ab 匹配abb
符号+:匹配+前面的字符1次或n次
符号?:匹配?前面的字符0次或1次
符号{m}:匹配前一个字符m次
符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
正整数
(1)findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个列表[]
案例:
import re
str1="abcdeefgamn"
s=re.findall("e",str1)
print(s) #

(2)search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错
案例:
import re
str1="abcdeefgamn"
s=re.search("a",str1)
print(s) #<re.Match object; span=(0, 1), match='a'>

3)match
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败并报错
注意:如果规则带了'+' ,则匹配1次或者多次,无'+'只匹配一次
import re
str1="abcdeefgamn"
s=re.match("b",str1)
print(s) #None

三)实操

\d:数字0-9
案例:
import re
str1="abcd1eefga3m6n"
s=re.findall("\d",str1)
print(s) #['1', '3', '6']

\D:非数字
案例:
import re
str1="abc@#$d1eefga3m6n"
s=re.findall("\D",str1)
print(s) #['a', 'b', 'c', '@', '#', '$', 'd', 'e', 'e', 'f', 'g', 'a', 'm', 'n']

\s:空白字符
import re
str1="abcd1 eefg a3 m6n"
s=re.findall("\s",str1)
print(s) #[' ', ' ', ' ']

\n:换行符
import re
str1="abcd1 ee\nfg a3 m6\n n"
s=re.findall("\n",str1)
print(s) #['\n', '\n']

符号^:表示的匹配字符以什么开头
import re
str1="abcd"
s=re.findall("^a",str1)
print(s) #['a']

符号$:表示的匹配字符以什么结尾
import re
str1="abcd"
s=re.findall("d$",str1)
print(s) #['d']

import re
str1="abcd"
s=re.findall("a$",str1)
print(s) #[]

符号:匹配前面的字符0次或n次

import re
str1="abcd"
s=re.findall("a*",str1)
print(s) # #['a', '', '', '', '']

import re
str1="qpswabcd"
s=re.findall("a*",str1)
print(s)#['', '', '', '', 'a', '', '', '', '']

符号+:匹配+前面的字符1次或n次
import re
str1="abaaaacaad"
s=re.findall("a+",str1)
print(s) # ['a', 'aaaa', 'aa']

符号?:匹配?前面的字符0次或1次
import re
str1="abaaaacaad"
s=re.findall("a?",str1)
print(s)#['a', '', 'a', 'a', 'a', 'a', '', 'a', 'a', '', '']

import re
str1="abaaaacaad"
s=re.findall("b?",str1)
print(s)#['', 'b', '', '', '', '', '', '', '', '', '']

import re
str1="abaaaacaad"
s=re.findall("1?",str1)
print(s)#['', '', '', '', '', '', '', '', '', '', '']

符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是正整数
import re
str1="aassaaabaaaacaaaaad"
s=re.findall("a{3,5}",str1)
print(s) #['aaa', 'aaaa', 'aaaaa']

\w 匹配[A-Za-z0-9]
import re
str1="aass!!aa#aa1aa1d"
s=re.findall("\w",str1)(小写w)
print(s) #['a', 'a', 's', 's', 'a', 'a', 'a', 'a', '1', 'a', 'a', '1', 'd']

import re
str1="aass!!aa#aa1aa1d"
s=re.findall("\W",str1) ( 大写W)
print(s)# ['!', '!', '#']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800663.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

API接口12种安全措施

1. 使用HTTPS:确保数据传输过程中的安全性。2. 使用OAuth2:一种授权框架,用于授权第三方应用访问服务器上的用户数据。3. 使用WebAuthn:一种网络认证标准,用于安全地进行用户认证。4. API进行签名加密:对API请求进行签名以确保请求的完整性和真实性。5. 黑白名单:限制访…

opencascade Bnd_Range源码学习区间计算

opencascade Bnd_Range 前言这个类描述了由两个实数值限定的 1D 空间中的区间。 一个区间可以是无效的,这表示区间中不包含任何点。 方法 1 默认构造函数。创建一个无效区间。 Bnd_Range() ; 2 构造函数。创建最小最大值区间 Bnd_Range(const Standard_Real theMin, const St…

P2414 [NOI2011] 阿狸的打字机

题目思路 将每一个输出的串放入一个 Trie 树中。 考虑离线处理询问 \((x, y)\),对于每一个 \(y\) 集中处理所有的 \(x\),\(y\) 在 Trie 树上走,走过的点标记一下,结果就是 \(x\) 字符串结尾节点在 fail 树上的对应节点的子树的标记数量。 记得在节点离开的时候撤销标记。 代…

0920

线代 舒尔公式,化上三角,下三角,对角阵 范德蒙德行列式 X型行列式,{主对角中下标之和为(2k+1)的两项乘积-副对角中下标之和为(2k+1)的两项乘积【需与前面两项下标号相同】}的连乘 宽对角,a2=4bc,a2≠4bc计组 MAR位数说明存储单元位数 MDR位数说明字长 编译器:将高级语…

DeepFM

参考资料:https://blog.csdn.net/u012328159/article/details/122938925 https://blog.csdn.net/u012328159/article/details/120684544?spm=1001.2014.3001.5501DeepFM FM部分 目前在模型层面做交叉特征的难点主要有以下两个方面:交叉特征的参数独立,强依赖于在样本中的共…

米尔STM32MP2核心板首发新品上市!高性能+多接口+边缘算力

米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA 252 PIN设计,存储配置1GB/2GB LPDDR4、8GB eMMC,具有丰富的通讯接口,适用于高端工业HMI、边缘计算网关、新能源充电桩、…

Fork+GIT操作

上传分支,在主干,上传完成代码之后,点击新建分支,去一个名字,如1.0.9,双击分支,点击“push”即可将主干所以代码上传到分支上备份一个 合并分支,,双击进入分支,选中要合并的部分,右键点击“Cherry-pick”,再次点击“Push”

影像测试技能

主要分三种职业:3A算法开发、图像tuning,图像测试这三种。 3a算法:AE/AWB/AF的开发,入门难一些,资料很少。 图像tuning:在理解3A算法的基础上,调试3A参数,当前需求量还是比较大的,学习起来也不太难,难在实践积累,多看多调。 1、 AWB auto white balance 自动白平衡 …

Camstar建模表格弹出编辑

大部分都是用行内编辑,但是如果由弹出编辑的需求,也需要了解下。 以工单建模为例子。自己搞个VP。Grid是MaterialList。 此时,表格并不具备,弹出编辑的能力。改下表格的属性,DataSubmissionMode=Changed 添加WebPart编辑框开始修改,每个属性控件的,属性!不然会报错!!…

在 ASP.NET Core Web API 中使用异常筛选器捕获和统一处理异常

异常筛选器可以捕获和处理 ASP.NET Core Web API 中发生的异常,当系统中出现未经处理的异常的时候,异常筛选器就会执行,我们可以在异常筛选器中对异常进行处理,例如记录日志、返回自定义错误信息等。前言 在 ASP.NET Core Web API 中,异常筛选器(Exception Filter)是一…

js实现网页端录音功能

1、代码 首先安装依赖包:recorderxnpm install recorderx -S<template><div class="container"><div class="mt-30"><el-button @click="onStartRecord">开始录音</el-button><el-button @click="onStop…

教你几招,轻松设置Win11右键恢复旧版模样

大家好!今天要教大家如何把 Win11 右键菜单变回完整的展开模式哦!其实很简单,只要在 Windows 开始图标下面的运行里输入一段代码就可以啦!接下来就让我来详细地跟大家分享一下这个方法吧!Win11右键菜单恢复为完整展开模式的方法1、首先,按键盘上的【 Win + X 】组合键,或…