用于排除带前缀的匹配项的正则表达式
RegEx for excluding a match with prefix
我起初只想匹配第一个实例,但很快意识到这是不可能的。我使用的工具只使用 RegEx,所以我也没有选择。
基本上我得到了一个带有 HTML 标签的文本,我想匹配没有以下标签的第一段标签。 例如:
<p>erkfoijwdocndoufhwroguh</p><p>pijgoijkuohuhogiougwtg</p><p>pijgoijkuohuhogiougwtg</p><p>pijgoijkuohuhogiougwtg</p>
我要匹配第一个<p></p>
没有别的。
所以我想我可以使用负前瞻排除旁边有标签的标签。如:
(?!>)(<|<\/)p>
但出于某种原因,这仍然匹配每个 <p>
和 </p>
标签,而不是遗漏那些前面有另一个标签的标签。有什么建议吗?
编辑补充:我只需要匹配标签,而不是标签内的文字。后视不适用于我正在使用的工具。似乎一切有效 here,也适用于我的工具。
第二次编辑:我解决了我的问题,但我将问题悬而未决,因为解决方案不是答案,这似乎是一个有趣的问题,我将来可能会遇到类似的问题。基本上,如果有人知道我如何引用前面没有 >
但还包括第一个 </p>
的 <p>
,我想听听。
我不确定我是否理解您要实现的目标,这会是:
^<p>.*?<\/p>