我的文字类似于:
<html><p>this is <b>the</b> text</p> and <p>this is another text</p></html>
我需要使用regexp
来获取此文本 this is <b>the</b> text
问题是,当我使用这样的简单正则表达式(<html>.*</p>
)时,我会在</p>
任何人都可以帮助我吗?
感谢 lennyd
答案 0 :(得分:3)
答案 1 :(得分:2)
默认情况下,正则表达式量词是贪婪的,即您获得最大长度的匹配。您必须使用。*?<?p>
指定您需要“非贪婪”的匹配
答案 2 :(得分:0)
要在para标签之间捕获数据,您可以使用正向预测断言/<p>(.*)(?=<\/p>)/
的正则表达式,这比.*?
更贪婪并且工作得更慢,但可能对您有所帮助。还要确保您的HTML有效,这意味着:
答案 3 :(得分:0)
愚蠢的问题,仍然使用纯正则表达式,为什么不剥离任何&lt; ..&gt;里面的段落?然后使用类似[^<]
的东西抓住短语
?