我具有正则表达式的基本知识,但对前瞻知识却不甚了解:-)
我有以下示例:
<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; " >
¤<h1>Some text within h1 tags.</h1><<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="s33" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
<h1>Some text within h1 tags.</h1><<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; " >
¤<h1>Some text within h1 tags.</h1><<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="s33" style="position: absolute; left: 8px; top: 2px; width: 1185px; height: 162px; " >
<h1>Some text within h1 tags.</h1><<br></DIV></DIV>
我只希望 div id s32 内的文本匹配。我首先尝试使用正向前瞻,看看是否至少可以正确处理这一部分,但
(?<="s32".+)Some text
确实有效,这个
(?<="s32".+¤¤)Some text
不……
我试图理解为什么我没有得到任何匹配?对于上面的例子,我预计会得到 3 个匹配。一旦我理解了这一点,我就可以尝试使用负向前瞻,然后希望只给出 2 个匹配(在 s32 DIV
s 内)。
欢迎任何建议和解释,因为我现在有点迷茫:-)