使用Python正则表达式捕获文本

时间:2016-09-27 09:53:32

标签: python regex python-2.7

我在使用Python正则表达式捕获html标记之间的字符串时遇到了一些麻烦。我一直在尝试从下面的字符串中捕获字符串“example link 2”:

<link>example link 1</link>
<item>
     <link>example link 2</link>
</item>

到目前为止我已经得到了这个:

(?<=<link>)(.*)(?=</link>)

但是上面的正则表达式返回“示例链接1”和“示例链接2”。有人可以帮忙只选择“示例链接2”吗?

编辑:不幸的是我需要使用正则表达式来解决这个问题所以我不能使用解析器等。感谢您的推荐。

1 个答案:

答案 0 :(得分:0)

您需要在结尾添加'g'修饰符。例如,正则表达式应如下所示:

/(?<=\<link>)(.*)(?=<\/link>)/g

'g'修饰符告诉引擎在找到第一个匹配后不要停止,而是继续直到找不到更多匹配为止。
演示here