【发布时间】:2016-09-27 09:53:32
【问题描述】:
我在使用 Python 正则表达式捕获 html 标记之间的字符串时遇到了一些麻烦。我一直在尝试从下面的字符串中捕获字符串“示例链接 2”:
<link>example link 1</link>
<item>
<link>example link 2</link>
</item>
到目前为止我已经得到了这个:
(?<=<link>)(.*)(?=</link>)
但是,上面的正则表达式返回“示例链接 1”和“示例链接 2”。谁能帮忙只选择“示例链接2”?
编辑:不幸的是,我需要对这个问题使用正则表达式,所以我不能使用解析器等。不过感谢您的建议。
【问题讨论】:
-
改用解析器。
-
'<link>(.*?)</link>'可能会更好。?给出了最小匹配。 -
使用elementtree和xpath
-
不要对 HTML 使用正则表达式! xml 之类的 HTML 支持标签嵌套,Python
re模块根本不喜欢...
标签: python regex python-2.7