2013-01-17 46 views
1

最近我開始重構一個Web應用程序項目。在JSP中編寫的許多HTML標記不符合W3C定義的標準。 我想關閉所有未關閉的標記。在Eclipse中使用正則表達式在JSP中使用自我封閉的HTML標籤替換未封閉的HTML標籤

<img style="border:0px;" 
    src="target/img/expande.gif" 
    alt="Expand target information" > // --> this tag is not closed! 

因此,本EXPR我可以搜索所有未關閉標籤:
(?s)<img("[^"]*"|'[^']*'|[^'">/])*>
我應該與/>替換一段代碼嗎?

回答

1

我假設你正在使用基於Eclipse內置正則表達式的搜索&替換爲匹配*.jsp的文件。

您需要使用一組括號將感興趣的部分分組。

(?s)(<img("[^"]*"|'[^']*'|[^'">/])*)(>) 

在更換,每個基團可以通過$n確定了n是該組的基於1的索引。因此,$1會返回您整個<img ...元素沒有>(和$2會返回您>本身;請注意,$0返回整個匹配)。

所以,一旦分組這樣的正則表達式,這種替換應該做的:

$1/> 

注意:仔細預覽更換。正則表達式和HTML不一定能很好地結合在一起。

+0

精彩!! :) 非常感謝您的幫助! – Vargan

+0

不客氣。 – BalusC

相關問題