我有一段代码试图提取一个数值,在这种情况下,'rel'来自这样的字符串:
str1 = 'span class="stars" rel="3.2" style="width:64.0%" title="Rating 3.2 out of 5 stars">/span>'
match = re.findall(r'span rel="(\d+)*(\.\d+)".\*>/span>', str1)
if match:
print("it's here!")
else:
print("not found")
然而,它不起作用。有谁知道我需要做的调整才能做到正确吗?
提前致谢,
答案 0 :(得分:0)
你可能正在寻找这个
str1 = 'span class="stars" rel="3.2" style="width:64.0%" title="Rating 3.2 out of 5 stars">/span>'
match = re.findall(r'span.*?rel="(\d+)(\.\d+)".*>/span>', str1)
print (match)
您找不到任何内容的主要原因是因为您的正则表达式需要在跨度后立即rel
,str1
不会跟随。在span和rel之间添加.*?
将非贪婪地捕获其他所有内容