鱼C论坛

 找回密码
 立即注册
查看: 1020|回复: 2

[已解决]匹配整数and小数 的正则,有其他写法吗

[复制链接]
发表于 2019-3-28 08:43:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. >>> s2=re.findall("\d+\.\d+|\d+",s)
  2. >>> print(s2)
  3. ['1999', '1999', '0.8', '1999', '1460.6', '170.9', '12.5', '116', '12.7', '1999', '543.9', '105.3', '26.8', '4.1', '8.6', '2.1', '1', '1999', '543.9', '26.8', '168.1', '13.2', '30.9', '272.8', '46.9', '50.2', '52.9', '14.4', '9.7', '355.6', '25.5', '65.4', '188.3', '29.3', '34.6', '1999', '1284.9', '156.5', '13', '654.6', '16.6', '496.9', '9.4', '85.1', '16.3', '50.9', '38.7', '6.6', '567.2', '88.6', '18.5', '304.6', '59.4', '24.2', '270.2', '12.7', '434.8', '16.1', '357.4', '15.7', '222.5', '3.9', '21.0', '33.9', '27.8', '17.3', '5', '5', '610', '51.6']
  4. >>>
复制代码
最佳答案
2019-3-28 09:01:53
感觉基本就是这种比较简单的了,最好再考虑负号
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-3-28 09:01:53 | 显示全部楼层    本楼为最佳答案   
感觉基本就是这种比较简单的了,最好再考虑负号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-4-1 16:15:52 | 显示全部楼层
一楼的代码  完全的有bug   改进后的代码如下:

  1. # coding: utf-8
  2. import re


  3. s="00 01 0 1 2 3 258 000 00027 369 25.8 100  0025.36  0.36 0.0 45.6900 12.06  00.25"
  4. result=re.findall(r"\b(?<!\.)[1-9](?<!\.)[0-9]*(?!\.)\b|\b(?<!\.)0(?!\.)\b",s)  #只匹配整数(不考虑符号)
  5. print("期望输出:\n 0 1 2 3 258 369 100")
  6. print(result)
  7. result=re.findall(r"\b0\.\d+\b|\b(?<!0)[1-9]\d+\.\d+\b",s)  #只匹配浮点数(不考虑符号)
  8. print("期望输出:\n 25.8 0.36 0.0 45.6900 12.06")
  9. print(result)

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-4 11:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表