我試圖用正則表達式解析字符串像類似於這樣:的Java REG EXP匹配模式
<tag>Text that is written here. This could happen here: <Inline::~Inline> </tag>
如何使用正則表達式從內聯替換「<」和「>」字符。問題在於Inline可能有不同的名稱,在主標籤內可以看到比較結果,如'< 20'。
謝謝。
我試圖用正則表達式解析字符串像類似於這樣:的Java REG EXP匹配模式
<tag>Text that is written here. This could happen here: <Inline::~Inline> </tag>
如何使用正則表達式從內聯替換「<」和「>」字符。問題在於Inline可能有不同的名稱,在主標籤內可以看到比較結果,如'< 20'。
謝謝。
假設內嵌標籤:
那麼這應該工作:
String s= "<tag>some text here > 20 <test::~test> and then </tag>";
s = s.replaceAll("<((\\w+)::~\\2)>","$1");
System.out.println(s);
無論調用什麼Inline/Test。
EDITED - 忘了把兩個冒號放在:-)
這種模式應該匹配任何標籤:
<(.|\n)*?>
所以對於內嵌匹配:因爲我覺得這是一個答案值得
<Inline(.|\n)*?>
,我寫它作爲一個答案,而不是評論:
RegEx match open tags except XHTML self-contained tags當然第一個answer的問題。 所以,要說清楚和簡短:甚至不要嘗試使用正則表達式。
+1,但我假設這不是XHTML – 2012-02-15 14:11:35
你能更具體地關於不同的Inline名稱嗎?它是否接近名單?它是否接近格式,例如'<東西::〜事>'? – AlexR 2012-02-15 13:28:16
我不確定可能的值,但格式相同 – Radu 2012-02-15 13:29:42
在這種情況下,請將user1168884的答案標記爲正確,因爲它*爲*。 – AlexR 2012-02-15 14:00:58