我需要找到一个具有唯一 id 的标签,我使用这个正则表达式,我期待结果
<p id="editable4" class="editable">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
但生成的正则表达式会查找所有段落的最后一个结束标记。
<p id="editable4" class="editable">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
<br>
<div id="editable_div" class="editable">
DIV sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveni
</div>
<br>
<h3 id="editable5" class="editable">
h3 Lorem ipsum dolor sit amet consectetur
</h3>
<p id="editable6" class="editable">
Lorem ipsum dolor sit amet consectetur,
adipisicing elit. Ad, veniam in tempora voluptatum vel
sequi, nulla, corporis nobis eum aliquid molestiae porro
culpa doloribus. At eveniet quaerat possimus tempora nulla.
</p>
如何仅查找具有唯一 ID 的标签?
通过替换来减少“贪婪”:
在
但在我看来,使用正则表达式提取标签并不是最好的方法。如果可能,最好使用 DOM。
此外,正则表达式
[^>]*中“说出”除>0 次或多次以外的任何字符的部分不会在所有情况下都能正常工作,因为该字符>可能出现在属性的内容中,例如在title="One is > as zero". 在任何情况下,您都必须考虑所有可能的选项,并且随着时间的推移,正则表达式将变成一个笨拙且难以理解的怪物。如果您使用的是 JavaScript,那么您可以使用DOMParser:
对于其他编程语言,通常也有用于解析 XML 的库。