模式匹配不能按预期的python工作

时间:2014-07-01 14:09:49

标签: python html regex html-parsing pattern-matching

我在网站的不同html代码中玩模式匹配,我注意到一些奇怪的东西。我使用了这种模式:

pat = <div class="id-app-orig-desc">.*</div>

我在Play商店的应用页面上使用它(选择一个随机应用程序)。所以根据我的说法,它应该只给出div标签之间的内容(即描述),但这不会发生。我从模式的第一个开始给出了所有内容,直到页面的最后一个完全忽略。谁知道发生了什么?!

我检查列表的长度只返回1。

1 个答案:

答案 0 :(得分:0)

首先,do not parse HTML with regex使用专门的工具 - HTML解析器。例如,BeautifulSoup

from bs4 import BeautifulSoup

data = """
<div>
    <div class="id-app-orig-desc">
        Do not try to get me with a regex, please.
    </div>
</div>
"""

soup = BeautifulSoup(data)
print soup.find('div', {'class': 'id-app-orig-desc'}).text.strip()

打印:

Do not try to get me with a regex, please.