鱼C论坛

 找回密码
 立即注册
查看: 1268|回复: 4

[已解决]初学正则表达式,碰到一个编程问题

[复制链接]
发表于 2020-3-23 08:19:48 | 显示全部楼层 |阅读模式

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

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

x

代码:
import re

html = 'k%3D","view_price":"138.00","view_fee":"0.00","item_loc":"广东item.htm?id\u003d57425801691405335569ed55e27b\u0026pm3d18","view_price":"149.00","view_fee":"0.00","item_loc" '

plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
print(plt)
      
            

结果:
['"view_price":"138.00"', '"view_price":"149.00"']

我的问题:
正则表达式 :r'\"view_price\"\:\"[\d\.]*\"'  

个人对这个正则表达式不理解的地方是:    [\d\.]*     这个意思是匹配一个数字和一个.无数次???    这个是怎么做到把138.00和149.00匹配出来的?



      
最佳答案
2020-3-23 10:13:20
[\d\.]就是[1234567890\.],是一个字符集

用*匹配的时候,只要这个字符在前面的字符集中,就可以匹配。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 08:21:29 From FishC Mobile | 显示全部楼层
中括号里就是说有就行,不是必须全有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 10:13:20 | 显示全部楼层    本楼为最佳答案   
[\d\.]就是[1234567890\.],是一个字符集

用*匹配的时候,只要这个字符在前面的字符集中,就可以匹配。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-24 10:56:12 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-3-23 10:13
[\d\.]就是[1234567890\.],是一个字符集

用*匹配的时候,只要这个字符在前面的字符集中,就可以匹配。

其实我一开始觉得的匹配应该是   \d*\.\d*      然后放到代码里也没问题      他这个写法太简练了  真的很难理解  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-24 11:11:49 | 显示全部楼层
qdwxzzy 发表于 2020-3-24 10:56
其实我一开始觉得的匹配应该是   \d*\.\d*      然后放到代码里也没问题      他这个写法太简练了  真的 ...

正则表达式就是这样的,慢慢来吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 08:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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