在Python中使用正则表达式,尝试解析下面的数据
数据thing1=
href="quote.ashx?t=JBL&ty=c&p=d&b=1">4.47B</a>, <a
t=JBL&ty=c&p=d&b=1">18.35</a>, <a class="screener-link"
style="color:#008800;">24.15</span></a>, <a class="screener-link"
style="color:#008800;">11.96%</span></a>, <a class="screener-link"
href="quote.ashx?t=JBL&ty=c&p=d&b=1">16,932,307</a>
正则表达式
pattern = "\b\d+(?:\.\d+)"
match = re.findall(pattern,thing1)
print(match)
这个表达式匹配所有的十进制数Here
我得到的结果和预期的一样
['4.47', '18.35', '24.15', '11.96']
但我只想要24点15分。数据中是否有匹配的模式会产生这个结果
感谢您的帮助
HTML和regex不是好朋友,我强烈建议您改用HTML解析器
如果您坚持使用regex,那么在选择相关模式时应该更加具体。由于要提取的数字没有什么特别之处(它们似乎都有相同的模式-前后),因此可以尝试以下操作:
在您的示例中,
specific_text
可以是<span style=\"color.*?>
(这里您将得到两个结果,第一个是您要查找的结果)相关问题 更多 >
编程相关推荐