pyhton之re模块-正则表达式

1.什么是正则

    正则就 是一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串

    正则就是用来去一个大的字符串中匹配出符合规则的子字符串

2.为什么要用正则

    1.用户注册

    2.爬虫程序

print(re.findall('\w','helllo 123 _*/_-='))    #匹配数字字符下划线

print(re.findall('\W','helllo 123 _*/_-=')) #非数字字母下划线

 

import re
print(re.findall('\w','heello 123 _*/-='))  #\w数字字母下划线
print(re.findall('\W','heello 123 _*/-=')) #\W非数字字母下划线

print(re.findall('\s','heello 123 _*/-=')) #\s空白字符
print(re.findall('\S','heello 123 _*/-='))# \S非空白符

print(re.findall('\d','heello 123 _*/-='))#\d匹配数字
print(re.findall('\D','heello 123 _*/-=')) #\D非数字


print(re.findall('\n','heello \n123 \n_*/-='))#\n匹配换行符
print(re.findall('\t','heello \t123 _*/-='))  #\t匹配tab 
print(re.findall('^e','heello 123 _*/-='))   #^e开头
print(re.findall('e$','heello 123 _*/-='))   #e$结尾
print(re.findall('[*-+/]','heello 123 _*/-='))   #匹配括号里面字符

# .任意
print(re.findall('a.c','abc a1c aac asd aaaaac a*c a+c abasd'))

#匹配\n   re.DOTALL
print(re.findall('a.c','abc a1c aac a\nc asd aaaaac a*c a+c abasd',re.DOTALL))

#匹配[a-z]任意的
print(re.findall('a[a-z]c','abc a1 c aac aAc aBc asd aaaaac a-c a/c a *c a+c abasd = a1c a2c'))

#匹配-+*/
print(re.findall('a[-+*/]c','abc a1 c aac aAc aBc asd aaaaac a-c a/c a *c a+c abasd = a1c a2c'))

#[]括号反选^
print(re.findall('a[^a-z]c','abc a1 c aac aAc aBc asd aaaaac a-c a/c a *c a+c abasd = a1c a2c'))

print(re.findall('a[a-z][a-z]c','abc a1 c aac aAc aBc asd aaaaac a-c a/c a *c a+c abasd = a1c a2c'))



# *: 必须与其他字符连用,代表左侧的字符出现0次或者无穷次
print(re.findall('ab*','a ab abbb abbbb a1bbbb a-123'))
#['a', 'ab', 'abbb', 'abbbb', 'a', 'a']
print(re.findall('ab{0,}','a ab abbb abbbb a1bbbb a-123'))


# ?: 必须与其他字符连用,代表左侧的字符出现0次或者1次
print(re.findall('ab?','a ab abbb abbbb a1bbbb a-123'))
#['a', 'ab', 'ab', 'ab', 'a', 'a']
print(re.findall('ab{0,1}','a ab abbb abbbb a1bbbb a-123'))


#+: 必须与其他字符连用,代表左侧的字符出现1次或者无穷次
print(re.findall('ab+','a ab abbb abbbb a1bbbb a-123'))
#['ab', 'abbb', 'abbbb']
# print(re.findall('ab{1,}','a ab abbb abbbb a1bbbb a -123'))


# {n,m}: 必须与其他字符连用
print(re.findall('ab{1,3}','a ab abbb abbbb a1bbbb a-123'))
                                                 # ab{1,3}
# ['ab','abbb','abbb']


#贪婪  取开头到结尾所有中间的字符
print(re.findall('a.*c', 'ab123adfc1134124123adasfc123123'))



#非贪婪  取带有开头和结尾的字符段
print(re.findall('a.*?c','ab123adfc1134124123adasfc123123'))

#转义符号
print(re.findall(r'a\\c','a\c'))
print(re.findall('a\\\\c','a\c'))

#只取分组里面的
print(re.findall('expression="(.*?)"','expression="1+2+3/4 *5"egon="beautiful"'))

#非贪婪匹配原则
print(re.findall('href="(.*?)"','<p>段落</p><a href="https://www.sb.com ">点我啊</a><h1>标题</h1><a href="https://www.sb.com ">点我啊</a>'))

print(re.findall('href="(?:.*?)"','<a href="http://www.baidu.com">点击</a>'))#['href="http://www.baidu.com"']


#只取分组
print(re.findall('ab+','ababab123'))
print(re.findall('(ab)+123','ababab123'))    #只取()里面的
print(re.findall('(?:ab)ab','ababab123'))    #?:显示全部内容
#

#取出数字
print(re.findall('\d\.*\d*','asdfasdf123as1.13dfa12adsf1asdf3'))

res = '321nhio24y28hoi90.873fsd287dsf'
print(re.findall('\d.\.*\d*',res))


#?:显示全部内容 并
print(re.findall('compan(?:y|ies)','Too many companies have gone bankrupt, and the next one is my company'))

print(re.findall('e','alex make love'))
#指定取一个
print(re.search('e','alex make love').group())  #取一个
#指定切分
print(re.split('[ab]','abcd'))   #切分  a切分一次  b切分一次 最后只有cd了


#替换
print('===>',re.sub('a','A','alex make love'))   #指定替换

print('===>',re.sub('a','A','alex make love',1)) #替换一次


print('==>',re.subn('a','A','alex make love'))
# ==> ('Alex mAke love', 2)          返回替换了两次





print(re.findall(r'-?\d+\.?\d*',"1-12*(60+(-40.35/5)-(-4*3))"))




a=re.compile('\d{2}')    #条件分离
print(a.search('abc123eeee').group())   #调用条件
print(a.findall('abc123eeee'))


print(re.search('(\d)+','123').group()) #group的作用是将所有组拼接到一起显示出来
print(re.findall('(\d)+','123')) #findall结果是组内的结果,且是最后一个组的结果


 

转载于:https://www.cnblogs.com/Marcki/p/10111952.html

COMSOL实战:薄膜声学超材料模态分析全流程解析(含预应力设置技巧) 本文详细解析了使用COMSOL进行薄膜声学超材料模态分析的全流程,包括预应力设置技巧和共振频率优化方法。通过实际案例和参数设置指南,帮助工程师掌握从几何建模到结果解读的关键步骤,特别适合声学超材料和共振薄膜结构的设计与优化。 阅读详情

相关推荐

开源TMS系统cortex-tms私有化部署与二次开发实战指南

运输管理系统(TMS)是现代物流数字化的核心组件,它通过将线下零散的物流操作转化为线上标准化、可追溯的数据流,实现订单、调度、跟踪与结算的全流程管理。其技术原理通常基于微服务架构,采用Spring Boot、Vue.js等成熟技术栈构建,确保系统的稳定性和可扩展性。TMS的技术价值在于显著提升物流企业的运营效率、降低成本并增强过程可控性,尤其适用于中小型物流企业实现从手工管理到系统化管理的跨越。在应用场景上,TMS广泛应用于车队管理、订单跟踪和财务结算等环节。本文聚焦于开源TMS项目cortex-tms,深

weixin_42523907的博客 746

Pyhton_语法综述_re模块和正则表达式_常用详解(15)

Pyhton_语法综述_re模块和正则表达式_常用详解(15)

稳稳C9的博客 420

记一次wireshark抓取QQ好友IP和火绒抓取微信IP

事情是这样的,,上个周,手机离奇的被盗,但没有关机,为了找回手机,粗学了一手QQ抓ip的手段。 这里我就直接做个演示,解析关键的点。 三种思路i. wireshark 抓取手机在线IPii 火绒抓取 微信在线接听IPiii 火绒抓取 微信在线不接听IP i. wireshark 抓取手机在线IP wireshark抓好友QQ的ip要求和对方打语音的时候要手机在线。 这里说一下,打语音和视频是直接能和对方建立连接,如果发文件,是直接发给腾讯的,抓不到包。 1.打开wireshark,通过电脑Tim给对方打语音

qq_29437513的博客 1万+

day22 Pyhton学习 re模块和正则表达式

正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则。 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 # re.findall('正则表达式','带匹配的字符') # ret = re.findall('...

weixin_30508241的博客 123

Triplet Loss调参实战:Margin选多少?距离函数用哪个?我的模型为什么训不动?

本文深入探讨了Triplet Loss调参中的关键问题,包括margin参数的选择、距离函数的比较以及模型训练不动的常见原因。通过实战案例和技术分析,提供了针对不同场景(如人脸识别、商品图像、文本匹配)的margin黄金区间,并对比了欧式距离与余弦相似度的适用场景。文章还介绍了困难样本挖掘的最新策略和模型诊断的实用清单,帮助开发者高效解决度量学习中的工程难题。

weixin_29050271的博客 411

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 834

利用pyhton中re模块与正则表达式进行长运算式(1 -2 *((60-30+(-40/5) * (9-2*5/3 + 7/3*99/4*2998+10 * 568/14)) -(-4*3)/)计算

import re ''' 计算结果 1.先去空格 2.去除()内只有float型数据的()只去除一层 3.去除-+/+-/--/++的情况 4.计算括号内的值先乘除,再加减 5.确保每次的最内层括号乘除与加减需要算完,确保函数返回值不带*/与+- 6.最终判断计算结果是否是一个数字,如果是结束,如果不是继续上面的步骤 ''' string = '1 -2 *((60-30+(-40/5) *...

tq08wpo的博客 613

银河麒麟系统V10 sp1,安装wine 9.0

银河麒麟系统V10 sp1 x86_64,安装wine 9.0

daqinzl的专栏 1万+

python中的正则表达式(re模块)

一、简介 正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 二、正则表达式中常用的字符含义 1、普通字符和11个元字符:普通字符匹配自身 abc abc .匹配任意除换行符”\n”外的字符(在DOTALL模式中也能匹配换行符a.c abc \ 转义字符,

li532331251的博客 385

智能座舱SoC平台横评:SA8155P、SA8255P、SA8295P、MT8678、MT8628 谁是下代车机首选?

高通SA8295P以PC级架构、强悍AI算力,代表安卓阵营迈向“本地大模型+空间计算”阶段;联发科MT8678则凭借低功耗 + 高带宽,成为副驾多媒体/副屏智能化的性价比之王。在座舱设计中,SoC平台决定了你能给用户什么样的交互方式,选型时切忌只看跑分,而要回归“体验-热设计-平台生态”的三角平衡。

weixin_43199439的博客 3358

PyTorch实战:卷积神经网络详解+Python实现卷积神经网络Cifar10彩色图片分类

PyTorch可以说是三大主流框架中最适合初学者学习的了,相较于其他主流框架,PyTorch的简单易用性使其成为初学者们的首选。这样我想要强调的一点是,框架可以类比为编程语言,仅为我们实现项目效果的工具,也就是我们造车使用的轮子,我们重点需要的是理解如何使用Torch去实现功能而不要过度在意轮子是要怎么做出来的,那样会牵扯我们太多学习时间。以后就出一系列专门细解深度学习框架的文章,但是那是较后期我们对深度学习的理论知识和实践操作都比较熟悉才好开始学习,现阶段我们最需要的是学会如何使用这些工具。

master_hunter的博客 8933

Pyhton——re模块

Pyhton——re模块 一、 re模块里有两种字符: 1、普通字符: 大多数字符和字母都会和自身匹配 2、元字符: . ^ $ * + ? { } [ ] | ( ) \ 1、re.findall(“xx1”,“xx2”)——完全匹配。(xx1为要匹配的关键字,xx2为被匹配的内容) 2、. ——通配符(功能是任何字符都可以代替,除了“\n” 换行符) 3、^ ——从开头去匹配 4、 $ ——从结尾去匹配 二、 重复符号(重复紧挨着前面的那个字符) 1、* ——重复0到无穷次 由于是0到无穷次

qq_41824825的博客 298

DSP2837X CLA开发实战教程

摘要: 本文详细解析TI C2000 DSP中CLA协处理器的开发流程,以TMS320F28377D的cla_divide案例为例,展示浮点除法验证的实现方法。从基础配置(消息RAM管理、任务触发)到高级调试(ePWM计时、断点设置),涵盖全流程开发要点。重点分析CLA编程约束(禁用标准库、数学优化)、多任务调度及常见问题解决方案(如死锁、数据同步)。提供FPGA协同加速、电机控制等扩展方向,并推荐官方例程与硬件平台(如创龙TL2837xF-EVM)。开发时需注意.cla文件语法支持及调试技巧,以充分发挥C

6760

pyhton的re模块

re.match()函数 从头开始匹配 要么第一个就符合要求,要么不符合 匹配成功则返回Match对象,否则返回None 可以使用group()方法获取返回的数据 可以使用span()方法获取匹配的数据的下标区间 re.search()函数 从字符串开头到结尾进行搜索式匹配 匹配成功则返回Match对象,否则返回None 可以使用group()方法获取返回的数据 可以使用span()方法获取匹配的数据的下标区间 search() 和 match()方法的区别 match()方法是从字符串的开头进行匹

weixin_44770933的博客 215

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python中re模块的使用

python中的re模块;正则表达式。

2301_77186809的博客 1355

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用 Python 正则模块re

转自:https://www.ibm.com/developerworks/cn/opensource/os-cn-pythonre/index.html 概要 在开发过程中发现,Python 模块 re(Regular Expression)是一个很有价值并且非常强大的文本解析工具,因而想要分享一下此模块的使用方法。 有这样一个简单而有趣的实践范例:对于喜欢追看美剧的年轻人,最新一集美剧的...

蝉之洞 415

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python re模块的常用方法

re模块 常用方法 用于使用正则表达式匹配对应的字符串 最常用的有三分别是find_all search match findall(正则表达式,待匹配的字符串) #findall # 功能:匹配字符串中所有符合条件的 # 返回值:列表,会将所有匹配到的项加入到列表中返回 import re phone_num = '17344332233' # 待匹配的字符串 regex = ...

qq_36850246的博客 522

正则表达式 pyhton

python3自学笔记 cheat sheet date: 1804;1807 object: python3;sublime;pycharm5 note1:码阅读计划 编辑器:缩进 注释 补全 高亮 折叠 目录 文章目录md2doc html pdfpython数据类型基本数据类型strlistdicthashregexpython文件操作分割wos文件 1->n其他numpy使用Py...

mark_clemens的博客 328

pyhton3 re模块

本文转自AstralWind的博客:Python正则表达式指南特来收藏 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言...

weixin_30852419的博客 92

python3正则re的使用

python3正则re的使用一、正则1.正则表达式定义2.目的和特点3.常用的正则表达式4.贪婪模式与非贪婪模式5.反斜杠二、re模块1.match2.search3.split,findall,finditer三个方法4.sub 一、正则 1.正则表达式定义 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Pyt...

paul0926的博客 1976

python中re模块的使用

模块是 Python 中用于处理正则表达式的标准库。它提供了一组函数,可以用来进行文本的模式匹配和搜索操作。

weixin_57645287的博客 488

正则表达式与Pyhton

1、支持普通字符匹配2、元字符,一个符号匹配一堆字符3、量词 --- 控制元字符出现的次数4、惰性匹配 .*?示例:玩吃鸡游戏,晚上一起玩游戏,干嘛呢?打游戏啊玩.*游戏 匹配结果:玩吃鸡游戏,晚上一起玩游戏,干嘛呢?打游戏玩.*?游戏 匹配结果:(1)玩吃鸡游戏 (2)玩游戏。

for you的博客 376

python中search函数用法_Python3中正则模块re.compile、re.match及re.search函数用法详解...

本文实例讲述了Python3中正则模块re.compile、re.match及re.search函数用法。分享给大家供大家参考,具体如下:re模块 re.compile、re.match、 re.search正则匹配的时候,第一个字符是 r,表示 raw string 原生字符,意在声明字符串中间的特殊字符不用转义。比如表示 ‘\n',可以写 r'\n',或者不适用原生字符 ‘\n'。推荐使用 r...

weixin_39721000的博客 265

【Python爬虫开发基础②】Python基础(正则表达式)

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是一种模式化的字符串,用于搜索、替换、分割和匹配文本数据。其基本思想是使用一些特殊的字符表示一个给定的模式,然后在文本中匹配这个模式。匹配:判断给定的字符串是否符合正则表达式的过滤逻辑;获取子串:可以通过正则表达式,从字符串中获取我们想要的特定部分。非常强的灵活性、逻辑性和功能性;可以迅速地用极简单的方式达到字符串的复杂控制。对于刚接触的人来说,比较晦涩难懂。

z135733的博客 1287

pyhton re模块

正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 re的匹配语法 %re.name("匹配规则", "要匹配的字符串") re.match() 从头开始匹配,即只匹配第一个值re.search() 匹配包含,匹配到第一个就不往下匹配re.find...

weixin_30652897的博客 114

python中字符串模块_使用Python中的re模块,从给定的字符串中删除所有辅音

python中字符串模块To solve this type of problem, we will use the re module or regular expression module in the Python. Here, we will assume a string given by the user from which we have to remove all conson...

cumubi7552的博客 572
上一篇: python之sys模块和subprocess模块
下一篇: python之hash模块加密
bangwu8607
博客等级 码龄11年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值