初学正则表达式,碰到一个编程问题
代码:
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匹配出来的?
中括号里就是说有就行,不是必须全有 [\d\.]就是,是一个字符集
用*匹配的时候,只要这个字符在前面的字符集中,就可以匹配。 永恒的蓝色梦想 发表于 2020-3-23 10:13
[\d\.]就是,是一个字符集
用*匹配的时候,只要这个字符在前面的字符集中,就可以匹配。
其实我一开始觉得的匹配应该是 \d*\.\d* 然后放到代码里也没问题 他这个写法太简练了真的很难理解 qdwxzzy 发表于 2020-3-24 10:56
其实我一开始觉得的匹配应该是 \d*\.\d* 然后放到代码里也没问题 他这个写法太简练了真的 ...
正则表达式就是这样的,慢慢来吧
页:
[1]