這裏的一些實際工作Java7代碼http://ideone.com/PWv56h
class Main
{
public static void main (String[] args) throws java.lang.Exception
{
String test = "testing 1 2 3 <a title=\"a demo\" href=\"\">testing 4 5 6</a> testing\t7\n8\r9 <br /><script src=\"blah\" />more text";
java.util.regex.Matcher m = java.util.regex.Pattern.compile("(<(?<tag>[A-Za-z]+)[^>]*?>[^<]*</\\k<tag>>)|(<[A-Za-z]+[^>]*?/>)|([^\\p{Space}]+)").matcher(test);
while(m.find())
System.out.println(m.group());
}
}
正則表達式匹配3個獨立的組PS
- 的HTML標記以結束標記<一個嗒嗒>嗒嗒</A>
- 的HTML標記沒有結束標記< SCRIPT SRC = 「等等」/>
- 文本的與運行沒有空白
如果HTML是正確的,並且HTML實體被正確轉義,那麼上面的正則表達式匹配器應該可以正常工作。即使在雜亂的HTML中,它也會很快且相當準確。
java或javascript? – assylias
您應該提供JS正則表達式並提供您嘗試將其轉換的內容,添加一些Java代碼將是最好的。將JS正則表達式轉換爲Java應該很容易。 – HamZa
關於包含在HTML標籤中的句子,例如' hello John Smith hey ho'? – Thomas