import re# 从"1-2*(60+(-40.35/5)-(-4*3))"中取整数
ret=re.findall(r"\d+","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60', '40', '35', '5', '4', '3'] 把40.35当成两个数了
# 你要匹配的内容太没有特点了 容易和你不想匹配的内容混在一起
ret= re.findall(r"\d+\.\d+|\d+","1-2*(60+(-40.35/5)-(-4*3))")
print(ret)#['1', '2', '60', '40.35', '5', '4', '3'] 已经把小数问题解决了,但是还是不对
ret= re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60','', '5', '4', '3']
# 通过优先显示已经把小数过滤掉了,但是为什么会有空字符串呢,可以把|两边都加上括号看下
ret= re.findall(r"(\d+\.\d+)|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret)#[('', '1'), ('', '2'), ('', '60'), ('40.35', ''), ('', '5'), ('', '4'), ('', '3')]
# 元组里左边显示的是小数,右边显示的是整数.
# 现在可以把上一个再优化一下
ret= re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60', '', '5', '4', '3']
ret.remove("") #把空字符串去掉
print(ret) #['1', '2', '60', '5', '4', '3']
# 这回就拿到了所有的整数了

转载于:https://www.cnblogs.com/kenD/p/9494303.html

使用正则表达式的技巧相关推荐

  1. 不允许输入特殊字符的正则表达式_JavaScript正则表达式常用技巧

    正则表达式是用于匹配字符串中字符组合的模式.在 JavaScript 中,正则表达式也是对象.这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match.ma ...

  2. [python爬虫] 正则表达式使用技巧及爬取个人博客实例

    这篇博客是自己<数据挖掘与分析>课程讲到正则表达式爬虫的相关内容,主要简单介绍Python正则表达式爬虫,同时讲述常见的正则表达式分析方法,最后通过实例爬取作者的个人博客网站.希望这篇基础 ...

  3. perl 正则表达式使用技巧

    Perl正则表达式语法 所谓Perl正则表达式,就是一串特别设计过的字符串,可以按照你的意图用匹配操作寻找你要求的目标.我这里不是Perl手册,也不是教科书,所以我从例子开始,具体的完整说明还请查手册 ...

  4. JS中的正则表达式小小的技巧---TEST方法的使用

    TEST 方法 返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式. rgexp.test(str) 参数 rgexp 必选项.包含正则表达式模式或可用标志的正则表达式对象. str ...

  5. python之正则表达式进阶技巧

    最小匹配 格式: 量词? 注:量词有{n,m}.?.+.* 用处: 在字符串中查找符合正则表达式规则的最短子字符串. 案例: 现有字符串num = "10-3*(20-10+(-10/5)2 ...

  6. [转]揭开正则表达式的神秘面纱

    揭开正则表达式的神秘面纱 关闭高亮 [原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref.htm] 引言 正则表达式(regular expressio ...

  7. 使用ultraEdit 进行字符串操作技巧

     ultraEdit 是人们最常用的字处理软件之一,如果能够掌握字符串查找.替换方法,一定能让你在日常字符串操作中如虎添翼,事半功倍. 字符串替换包括查找,因此文中主要讲述字符串替换.字符串替换包 ...

  8. 精通正则表达式(第3版)

    <精通正则表达式(第3版)> 基本信息 作者: [美]Jeffrey E.F.Friedl 译者: 余晟 出版社:电子工业出版社 ISBN:9787121175015 上架时间:2012- ...

  9. UltraEdit正则表达式使用

    正则表达式 (UltraEdit 语法): % 匹配行首 - 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符. $ 匹配行尾 - 表示搜索字符串必须在行尾,但不包括任何选定的结果字 ...

最新文章

  1. linux下用js生成xml,js2xml:将javascript字符串转换为xml
  2. 2020年高等数学方法与提高(上海理工大学)学习笔记:一元函数积分学
  3. mysql的主键有什么作用_mysql设置主键有什么用
  4. Java 泛型实现方法 — 擦拭法
  5. WordPress 不同分类目录调用不同模板的方法
  6. JAVA的SSH框架登录注册
  7. Android安全笔记-Broadcast基本概念
  8. 四.开发记录之ubuntu系统安装ROS和开发环境
  9. 2场直播丨OGG日常运维及故障处理、云原生数据仓库AnalyticDB
  10. mysql 联合质检_第三次全国国土调查-统一时点更新阶段数据库质检规则业务细则解释(三)...
  11. 谷歌员工中位数年薪达 170 万元,却仍买不起房!
  12. [系列教程] Discuz模板的制作方法
  13. unas 下 Transmission 下载使用体会
  14. win10环境下如何安装CAD
  15. java fifo lifo_别以为你很懂仓库FEFO 、 LIFO 、FIFO
  16. Passive Aggressive Alogrithm
  17. 深入理解计算机系统arch lab
  18. 计算机与广告设计论文,广告设计广告论文,关于计算机广告设计的前景相关参考文献资料-免费论文范文...
  19. android pie mi 3 tab,前沿科技:三星Galaxy Tab S3和Tab A(2017)正在获得Android 9.0 Pie更新
  20. 如何快速的自建 DoH ( DNS over HTTPS) 服务

热门文章

  1. SAP Cloud for Customer的Contact和Account的从属关系
  2. Minikube的启动日志
  3. SAP CRM Enterprise Search change pointer的存储数据库表
  4. 如何处理错误信息 Pricing procedure could not be determined
  5. integer 负数字符串比较_Integer与int的区别 (== 与 equal)
  6. php分页代码 页数太多,php google或baidu分页代码
  7. 主进程退出后子进程还会存在吗?_【干货】Linux进程模型 全解
  8. android pc模拟器哪个好,安卓模拟器电脑版哪个好用
  9. 怎样将计算机添加桌面快捷方式,Win10系统下如何将程序快捷方式添加到桌面上?【图文教程】...
  10. python mysqldb 查询不到最新记录_Python MySQLdb更新查询失败