正则表达式匹配给定groupe的多次出现

时间:2017-07-02 17:33:46

标签: python regex

我正在努力学习正则表达式。我使用this测试了它 所以它不是我的代码(还没有:P)。所以,我有一个冗长而讨厌的字符串,看起来或多或少是这样的:


<im a really nasty string from hell/>
<still a nasty string from hell/>
<oh, this is part i need/><
<im a really nasty string from hell/>

我想要的是什么:


<oh, this is part i need/>

我试图抓住它:

(&#xA\;<)(.|\n|\t)*?(need)(.|\n|\t)*?(\/>)

但它吸引了很多......就像那样:


<im a really nasty string from hell/>
<still a nasty string from hell/>
<oh, this is part i need/>

所以最终部分按预期工作,但它在开始时抓得很多,我不知道为什么。

1 个答案:

答案 0 :(得分:1)

您可能要求捕获的字符串不包含斜杠:


<([^\/]*?need[\S\s]*?)\/>

或者,您也可以允许斜杠,但不能>。那样做:


<((?:(?!\/>)[\S\s])*?need[\S\s]*?)\/>