提取标签之间的数字

时间:2018-04-03 10:33:37

标签: python regex

我想从字符串8中获取数字<div class="abc">+8</div>

请注意abc未修复。它是一个字符串,下次可能是xyz

如何获得号码?

2 个答案:

答案 0 :(得分:1)

  

我想从字符串8获取数字<div class="abc">+8</div>

你不够具体。

'<div class="abc">+8</div>'[18]

给你'8'。如果abc也是xyz,则此方法有效。

您是否希望这些数字始终以+为前缀? (我猜测-也是一种选择)。它们总是在<div>标签内吗? <div>标签是否用于保留这些数字以外的任何其他内容?围绕数字的<div>是否还包含除数字之外的其他内容?任何<div>都可以包含源代码中看起来像这些数字的用户定义文本吗?在您更具体地定义问题之前,您将面临误报的风险。

[ int(x) for x in re.findall(r'<div[^>]+>([+-]\d+)</div>', s) ]

答案 1 :(得分:0)

这里有美丽的肥皂:

from bs4 import BeautifulSoup
soup = BeautifulSoup(string)
tag=soup.div
print(tag.string)