我需要从一些文本中找到格式错误的HTML内容; 我们让用户添加strong和em标记,但他们并不总是正确地关闭它们
This is some <b>correct</b> formatting
This is some <b>incorrect<b> formatting
Run Code Online (Sandbox Code Playgroud)
我想捕获格式不正确的实例,即开始标记后面没有结束标记的情况.我开始使用负面前瞻,但到目前为止还没有取得多大成功
<b>(?!.*?<\/b>.*?)<b>
Run Code Online (Sandbox Code Playgroud)
<b> 获得开场标记(?! 消极的预测
.*? 什么,但不贪婪<\/b> 结束标记.*? 什么,但不贪婪) 关闭前瞻<b> 另一个开场标签知道我怎么能这样做吗?
附录:我知道托尼的小马,但我觉得它现在不会出现.这个问题可以被替换为"我想找到两个出现的单词"zoinx",其中"palantir"之间没有出现"与HTML无关的"
<b>(?:(?!<\/b>).)*<b>
Run Code Online (Sandbox Code Playgroud)
试试这个。查看演示。
https://regex101.com/r/nS2lT4/19
对于通用版本使用
<([^>]*)>(?:(?!<\/\1>).)*<\1>
Run Code Online (Sandbox Code Playgroud)
请参阅演示。
https://regex101.com/r/nS2lT4/24