1

我一直在寻找一个正则表达式,它可以识别 HTML 页面内容中的引号字符串,但如果引号是 HTML 标记属性的一部分,则不会。

例子:

<p id="123">This is some "quoted text" in a <span class="test">sentence.</span></p>

在上面的行中,我想找到“引用文本”字符串,而不是 id="123" 或 class="test"。

我尝试了一些但没有工作。

下面的正则表达式提取上面示例中的 HTML 标记并排除句子内容......但我希望它做相反的事情:

<[^>]+>
4

2 回答 2

3

如果您想解析 HTML 以从中获取有用的东西,请使用HTMLAgilityPack - 它使执行此类操作变得相当简单。

另请参阅:您不能使用正则表达式来解析 HTML

于 2013-03-19T14:59:02.277 回答
0

在这种特殊情况下,我认为您不会有很多保证。对于如何将引用的字符串放在 HTML 片段中,有太多的选择。但是,根据您上面给出的具体示例,以下表达式将找到“引用文本”:

(?<=(?:^|>)[^<>]*)"[^"]+"(?=[^<>]*(?:<|$))
于 2013-03-19T15:05:39.707 回答