我正在尝试将/替换为null,就像这样
<h:graphicImage id="">
我的代码如下。
<h:graphicImage id=""/>
<a>
<b>
<rich:componentControl target=""/>
<a>
<b>
</h:graphicImage>
我使用的正则表达式,
(<h:graphicImage[^>]*\s*)/>[\s\S]<rich:componentControl[^>]*)
如果两个标签之间没有标签或内容,但是在我的代码中不幸的是,它们之间有许多标签。任何解决方案?
<h:graphicImage id=""/>
<rich:componentControl target=""/></h:graphicImage>
修改
为了更清楚我的问题, 我想替换
<h:graphicImage id=""/>
到
<h:graphicImage id="">
当h:graphicImage标签有rich:componentControl这个标签时。
代码如下所示
<h:graphicImage id=""/>
<a>
<b>
<rich:componentControl target=""/>
<a>
<b>
</h:graphicImage>
答案 0 :(得分:0)
不要使用正则表达式来解析XML或HTML 话虽如此,这应该工作(将ungreedy / Lazy标志设置为true):
(<h:graphicImage[^>.]*)\/>[.\S\s]*(<rich:componentControl[^>]*)