正则表达式 - 结合正向和负向前瞻

正则表达式 - 结合正向和负向前瞻

我具有正则表达式的基本知识,但对前瞻知识却不甚了解:-)
我有以下示例:

<DIV style="overflow: hidden; border-bottom: 1px Solid rgb(192,192,192); position: absolute; left: 5821px; top: 22px; width: 1200px; height: 166px; "><DIV ID="s32" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
    &#164;&lt;h1&gt;Some text within h1 tags.&lt;/h1&gt;&lt;<br>&#164;&#164;</DIV></DIV>

<DIV style="overflow: hidden; border-bottom: 1px Solid rgb(192,192,192); position: absolute; left: 5821px; top: 22px; width: 1200px; height: 166px; "><DIV ID="s33" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
    &lt;h1&gt;Some text within h1 tags.&lt;/h1&gt;&lt;<br></DIV></DIV>

<DIV style="overflow: hidden; border-bottom: 1px Solid rgb(192,192,192); position: absolute; left: 5821px; top: 22px; width: 1200px; height: 166px; "><DIV ID="s32" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
    &#164;&lt;h1&gt;Some text within h1 tags.&lt;/h1&gt;&lt;<br>&#164;&#164;</DIV></DIV>

<DIV style="overflow: hidden; border-bottom: 1px Solid rgb(192,192,192); position: absolute; left: 5821px; top: 22px; width: 1200px; height: 166px; "><DIV ID="s33" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
    &lt;h1&gt;Some text within h1 tags.&lt;/h1&gt;&lt;<br></DIV></DIV>

我只希望 div id s32 内的文本匹配。我首先尝试使用正向前瞻,看看是否至少可以正确处理这一部分,但

(?<="s32".+)Some text

确实有效,这个

(?<="s32".+&#164;&#164;)Some text

不……

我试图理解为什么我没有得到任何匹配?对于上面的例子,我预计会得到 3 个匹配。一旦我理解了这一点,我就可以尝试使用负向前瞻,然后希望只给出 2 个匹配(在 s32 DIVs 内)。

欢迎任何建议和解释,因为我现在有点迷茫:-)

相关内容