如何编写python正则表达式在html中查找guid?

2024-09-29 02:23:11 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在下面的HTML部分找到guid?在

HTML示例:

<td>xxxxxxx</td>
<td style="display: none">e3aa8247-354b-e311-b6eb-005056b42341</td>
<td>yyyyyy</td>
<td style="display: none">e3aa8247-354b-e311-b6eb-005056b42342</td>
<td>zzzz</td>

Tags: none示例stylehtmldisplaytdguidxxxxxxx
2条回答

使用一个HTML解析器,比如那个“漂亮的”透明的^{}包。在

其思想是使用xxxxxxxyyyyyy文本来定位td元素,并获得以下td兄弟的文本值(假设xxxxxxx和{}是您事先知道的标签):

from bs4 import BeautifulSoup

data = """
<tr>
    <td>xxxxxxx</td>
    <td style="display: none">e3aa8247-354b-e311-b6eb-005056b42341</td>
    <td>yyyyyy</td>
    <td style="display: none">e3aa8247-354b-e311-b6eb-005056b42342</td>
    <td>zzzz</td>
</tr>
"""

soup = BeautifulSoup(data)

print soup.find("td", text="xxxxxxx").find_next_sibling('td').text

印刷品:

^{pr2}$
re.findall("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",the_whole_text)

这是因为uuid的格式总是这样。。。一般来说,当解析html/xml时,您应该实际使用一个html/xml解析器,而不是。。。因为re在筑巢方面很困难

相关问题 更多 >