我正在使用JEditorPane來呈現基本的HTML。但它會錯誤地呈現自閉標籤,特別是br標籤,例如。 < br/>不好,但是<br>很好。我想使用String.replaceAll(「<br>」)來修復HTML,其中正則表達式是一個正則表達式,匹配任何具有不區分大小寫的自閉合br標籤,以及「r 「與 」/「(例如,< BR/>,< BR/>,< BR/>,< 溴 />,等等)。正則表達式,JEditorPane,自閉標記
感謝任何能解決這個問題的正則表達式專家!
我正在使用JEditorPane來呈現基本的HTML。但它會錯誤地呈現自閉標籤,特別是br標籤,例如。 < br/>不好,但是<br>很好。我想使用String.replaceAll(「<br>」)來修復HTML,其中正則表達式是一個正則表達式,匹配任何具有不區分大小寫的自閉合br標籤,以及「r 「與 」/「(例如,< BR/>,< BR/>,< BR/>,< 溴 />,等等)。正則表達式,JEditorPane,自閉標記
感謝任何能解決這個問題的正則表達式專家!
您可以使用正則表達式:
<[bB][rR]\s*/>
<
:要匹配文字<[bB]
:一個char是 要麼b
或B
[rR]
匹配類:一個char類匹配 要麼r
要麼R
\s
:任意一個空格\s*
:零個或多個空格。如果你想只允許一個空白的空間,你可以使用:
<[bB][rR] */>
真棒,感謝您的快速回復和解釋!我會現在測試它,並標記爲已回答,如果它工作! – 2010-04-02 15:26:29
工程就像一個魅力! – 2010-04-02 15:34:50
''
是無效的HTML,反正。而'
'將是無效的XHTML。以正確的方式創建底層HTML不是更容易,而不是用正則表達式修復它後面的黑客? – Joey 2010-04-02 15:18:38
我的HTML源自90年代末期。事實上,在使用HtmlCleaner清理和提取片段以存儲數據庫之前,br標記的MOST未正確關閉。但是,那麼我需要使用JEditorPane來渲染它,所以它需要轉換回HTML 4之前的標準!當然,我們將來可能不得不使用飛碟或其他渲染解決方案,因此最好將它保持在數據庫中的標準水平,併爲JEditorPane動態修復。 – 2010-04-03 01:54:11