正则表达式搜索带有UUID的HTML标记

时间:2016-08-05 11:36:51

标签: python regex

我正在尝试将单个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,这应该可以使用正则表达式。

2 个答案:

答案 0 :(得分:0)

为什么不使用群组方法?这对我有用:

element_to_link.group(0)

答案 1 :(得分:0)

从Python re模块文档中,MatchObject.string属性返回“传递给match()或search()的字符串。”。使用MatchObject的其中一种方法,例如group(),groups()或groupdict()。