我有这 3 种情况,其中我有<em>
和由类</em>
构成的 html 标签<p class="TATA"></p>
第一种情况: (1 <em> and 1 </em> anywhere in the tag)
<p class="TATA">Ou quand vous peignez une fleur, comment elle ouvre ses pétales et montre <em>sa me dans </em> grâce dans votre jardin.</p>
第二种情况: (2 <em> and 2 </em> anywhere in the tag)
<p class="TATA"><em>Une fleur est un accompagnement <em>je veux aimer quelqu'un mais </em> je ne peux pas à cause du virus.</em></p>
第三种情况 (1 <em> at begin and 1 </em> at the end of the tag)
<p class="TATA"><em>Une fleur est un accompagnement.</em></p>
问题:我只想找到那些<p class="TATA"></p>
包含其他的标签<em>
,并且</em>
除了在标签开头和结尾的标签之外。
所以输出<em>
应该找到那些包含 2和 2 的文件</em>
。我该如何进行搜索?
我的正则表达式不是很好,它发现完全相反的结果(第二种情况)。
寻找:(?:<p class="TATA">|\G(?!^))<em>\K.*?</em>(?=.*?</p>)
谁能帮我?
答案1
我认为你的正则表达式过于复杂,除非我误解了这个问题。
对我来说这就足够了:<p class="TATA">.+<em>.+</p>
<em>
当标签中包含不紧跟在标签后面的标签时,它会搜索此标签。
要查找<p class="TATA">
包含 2 个<em>
标签的内容,请使用:
<p class="TATA">.+<em>.+<em>.+</p>