如何使用正则表达式解析此HTML以获得我需要的内容

时间:2016-11-18 10:48:39

标签: python html regex

<strong>Description</strong>                                    This is some test description 1<strong>Areas</strong>

我想在(强)描述(/ strong)(强)某事(这种情况各不相同,不一定是区域)(/强)之间得到文本

我一直在试用这个正则表达式'描述(。+)',但没有结果。

获得'这是一些测试描述1'

的正确表达方式

*我正在使用Python的正则表达式库

1 个答案:

答案 0 :(得分:0)

这是not recommended to parse HTML using regex

如果它是非常简单的并且不完全解析你可以尝试,但我建议使用一些HTML / XML解析器。 您可以改为使用Python HTML parser,也可以使用BeautifulSoup等库。

无论如何,如果你想尝试在标签之间提取数据,你需要更清楚。 我不确定你想要的是在文本和标签之间。如果是这样,你应该能够做到这样的事情:

import re
matches = re.search(r'</strong>(.+)<strong>', '<strong>Description</strong>                                    This is some test description 1<strong>Areas</strong>')
matches.group(1) # '                                    This is some test description 1'

如果您想要更具体的描述开头和任何其他文本结束,您可以说使用正则表达式:

<strong>Description<\/strong>(.+)<strong>(.+)<\/strong>

但我再次请你介绍一些实际的HTML / XML解析器。