我有一个xml文件,其中包含一系列page
标记,其中包含以下内容(省略号仅显示未包含的内容):
<page1 ...>
...
</page>
<page2 ...>
...
</page>
<page3 ...>
...
</page>
这是我的Eclipse IDE正则表达式搜索表达式:
(?s)<page.*</page>
搜索结果返回一个匹配项; <page1
与最后</page>
元素之间的所有内容。我试图让它返回3个匹配,每个元素一个。我怎样才能做到这一点?
答案 0 :(得分:1)
.*
贪婪。也就是说,它尽可能匹配所有字符(最长可能匹配)。通过在?
旁边添加量词*
,强制正则表达式引擎执行非贪婪匹配(最短匹配)。
(?s)<page.*?<\/page>
(?s)
Dotall修饰符,使正则表达式中的点匹配偶数换行符。