【发布时间】:2010-08-18 22:44:25
【问题描述】:
假设我们有这样的东西:
<div1>
<h1>text1</h1>
<h1>text2</h1>
</div1>
<div2>
<h1>text3</h1>
</div2>
使用 RegExp,我们需要得到 text1 和 text2 而不是 text3。
如何做到这一点?
提前致谢。
编辑: 这只是一个例子。 我正在解析的文本可能只是纯文本。 我想要完成的主要事情是列出文档特定部分的所有字符串。 例如,我给出了这个 HTML 代码,因为它完全类似于我需要得到的东西。
(?siU)<h1>(.*)</h1> 会解析所有三个字符串,但如何只获取前两个?
EDIT2: 这是另一个相当愚蠢的例子。 :)
Section1
This is a "very" nice sentence.
It has "just" a few words.
Section2
This is "only" an example.
The End
我需要第一部分的引用词,而不是第二部分的引用词。
再一次,(?siU)"(.*)" 从整个文本中返回引用的单词,
我只需要Section1和Section2之间的那些。
这是"Rainmeter" application,它显然使用 Perl 正则表达式语法。
对不起,我无法更好地解释它。 :)
【问题讨论】:
-
出现次数可以是任意的。
-
什么标准决定了你想要什么内容?你用什么语言编程?另外,你真的不应该使用正则表达式来解析 HTML。
-
使用Regex解析html参考这篇文章:link
-
@Marcelo Cantos:标准可能会有所不同,但对于第一个示例,我需要
部分的 标签内的内容。我不是用任何语言编程,我只是用 Rainmeter 修改我的桌面,它在某些部分使用 RegExp。 :) 这里没什么重要的。
-
你的问题太模糊了,没法回答。