作为我的第一个网页抓取项目,我正在抓取一个赌博网站的赔率。到目前为止,我已经成功地实现了我想要的东西,现在有了这样一个数组

[<b>+5\xbd\xa0-110</b>, <b>-5\xbd\xa0-110</b>]
[<b>+6\xa0-115</b>, <b>-6\xa0-105</b>]
[<b>+6\xa0-115</b>, <b>-6\xa0-105</b>]

有没有办法把-105/110/115拔出来?我要找的数字是</b>左边的那3个,我还需要在这3个数字左边加上正负号。我需要使用正则表达式吗?
谢谢!
韦斯顿

最佳答案

regex的工作方式取决于这是否是数字的唯一格式。
另外,你知道是显示阳性还是只显示阴性?
如果它真的显示出积极的。。。

([+-][\d]{3})<\/b>

如果它没有显示出积极的作用。。。
([+-]?[\d]{3})<\/b>

http://regexr.com/3h08d
您应该能够提取圆括号内的内容。
编辑:你可能想做如下的事情。此代码将从列表中获取每个字符串,然后对该字符串执行regex搜索。它将把结果追加到nums列表中。结果将是一个前面有符号的3位数字,因为它提取圆括号内的第一组。
import re

nums = []

for line in odds:

    result = re.search(('[+-][\d]{3})<\/b>',line)

    nums.append(result.group(1)))

print (nums)

09-30 10:02