我有一个包含一些xml的文本,我正在尝试匹配每个组。
<DOCUMENT>
<TYPE>Some text
<SEQUENCE>1
<FILENAME>page.htm
<DESCRIPTION>some text
<TEXT>
<HTML>
<HEAD>
</DOCUMENT>
<DOCUMENT>
<TYPE>Some text 2
<SEQUENCE>1
<FILENAME>page2.htm
<DESCRIPTION>some text 2
<TEXT>
<HTML>
<HEAD>
</DOCUMENT>
我试图获取<DOCUMENT> ... </DOCUMENT>
的每一组,但是我一直在获取整个文本,而不是每一组。
我已经尝试过(<DOCUMENT>)([^&]*)(<\DOCUMENT>)
和其他一些方法,但是无法将其分组。
答案 0 :(得分:1)
通常,/start(.*?)end/
形式适用于起始和结束定界符之间的PCRE非贪婪匹配。如果您的文本包含换行符,则可能需要打开多行标志。 ?
是票证-将匹配从贪婪(从起始令牌匹配到最后一个结束令牌)变为非贪婪(从起始令牌匹配到最终令牌的第一个实例)。 / p>
也就是说,如果这实际上是一个标记文档,请记住黄金法则:don't parse XML with regex。