我正在尝试将单个HTML标记与id
属性匹配,该属性是UUID。我使用外部资源对其进行了测试,以确保正则表达式在相同的输入字符串中是正确的。 UUID是动态提取的,因此需要更换字符串。
我期望的输出是最后一行打印:
<tr class="ref_row" id="b9060ff1-015d-4089-a193-8fef57e7c2ef">
这是我尝试过的代码:
content = '<tbody><tr class="ref_row" id="b9060ff1-015d-4089-a193-8fef57e7c2ef"><td><b>01/08/2016 14:41:00</b></td>'
ref = 'b9060ff1-015d-4089-a193-8fef57e7c2ef'
regex = '<[^>]+?id=\"%s\"[^<]*?>' % ref
element_to_link = re.search(regex, content)
print element_to_link.string
打印时得到的输出是整个输入字符串,这表明正则表达式不正确。这是怎么回事?
请不要建议我使用Beautiful Soup,这应该可以使用正则表达式。
答案 0 :(得分:0)
为什么不使用群组方法?这对我有用:
element_to_link.group(0)
答案 1 :(得分:0)
从Python re模块文档中,MatchObject.string属性返回“传递给match()或search()的字符串。”。使用MatchObject的其中一种方法,例如group(),groups()或groupdict()。