如何在Python中编写一个正则表达式来获取浮点数?

2024-09-27 07:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在python中编写正则表达式以获取浮点数。我要55.97英镑。来自<td nowrap="nowrap">55.97</td>。所以我给了

newsecond_row_data = (re.search('(?<=>)\d+|\d+.\d+',second_row_data[a]))
newsecond_row_data.group(0)

print newsecond_row_data.group(0)

但结果是55而不是55.97。请告诉我

谢谢你


Tags: researchdatagrouptdrowprintsecond
3条回答
newsecond_row_data = re.search('\d+\.?\d*', second_row_data[a])
print newsecond_row_data.group(0)

如果您想从HTML或XML中提取数据,请查看可用的各种解析器。对于这种特殊情况,您可以很容易地提取数字:

>>> from xml.etree import ElementTree
>>> element = ElementTree.fromstring('<td nowrap="nowrap">55.97</td>')
>>> element.text
'55.97'
>>> 
newsecond_row_data = (re.search('(?<=>)\d+.\d+|\d+',second_row_data[a]))
newsecond_row_data.group(0)

你的模式不工作的原因是它看到“55”,找到匹配项并停止进一步搜索。在

再次,我建议不要使用regex,而是使用XML处理库从HTML标记中提取文本(见Sudhir的答案)。在

相关问题 更多 >

    热门问题