我一直在寻找一个正则表达式来识别HTML页面内容中的引用字符串,但如果引号是HTML标记属性的一部分则不是。
示例:
<p id="123">This is some "quoted text" in a <span class="test">sentence.</span></p>
在上面一行中,我想找到“引用文字”字符串但不是id =“123”或class =“test”。
我尝试了一些但没有工作。
以下REGEX在上面的例子中选取了HTML标签并排除了句子内容......但是我希望它能做相反的事情:
<[^>]+>
答案 0 :(得分:3)
如果你想解析HTML以获得有用的东西,请使用HTMLAgilityPack - 它可以让你做这样的事情非常简单。
答案 1 :(得分:0)
在这个特定的背景下,我认为你不会有很多保证。如何在一段HTML中将引用的字符串放在一起有太多选项。但是,根据您在上面给出的具体示例,以下表达式将找到“引用文本”:
(?<=(?:^|>)[^<>]*)"[^"]+"(?=[^<>]*(?:<|$))