2
的java我有一個字符串:正則表達式用的replaceAll和多線
0000000000<table blalba>blaalb<tr>gfdg<td>kgdfkg</td></tr>fkkkkk</table>5555
我想更換table
和/table
用的文字:「」,刪除該文,只顯示00000000005555.
當它是一條線,它的工作原理:
chaineHtml = chaineHtml.replaceFirst("[^<title>](.*)[</title>$", "");
但隨着table
同樣失敗。
你能解釋一下這段代碼嗎(在你的答案中)?你可能會得到更多的讚揚! –
非常感謝它非常好!!!!它是偉大的它完美的作品,也感謝您的答覆一樣快! – sissi49
@與帽子的傢伙它意味着替換以「
我不認爲這意味着什麼,你認爲它的意思。
它不是「不等於<表>」的字符串。相反,這意味着「字符不等於<或t或a或b或l或e或>」。 「[^ ...]」被稱爲negative character class。
您正則表達式更改爲
與
取代它,它會給你你想要的結果。
請考慮加書籤The Stack Overflow Regular Expeession FAQ以備將來參考。底部包含一個在線正則表達式測試器的列表,您可以自己嘗試一下。您可能還需要檢查出命名爲「字符類」,並且將部分通過@anubhava提到:「一般信息>不要使用正則表達式解析HTML」
來源
2014-04-16 14:16:31 aliteralmind
問題是樣本正則表達式不會與樣本輸入一起進行。 –
@BheshGurung:意思是「表」。固定 – aliteralmind
非常感謝您的回覆! – sissi49
此正則表達式應該工作:
其中
(?is)
將使其匹配多行並忽略大小寫。但我建議你不應該使用正則表達式來操作HTML,因爲它可能容易出錯。
來源
2014-04-16 14:20:25 anubhava
同樣感謝您的回覆! – sissi49
說明:
來源
2014-04-16 14:23:41
非常感謝您的回覆! – sissi49
不客氣! –
單行答案不是很好的風格。請考慮添加解釋,特別是其他讀者會理解您的答案。 –
,如果你不熟悉它的概念,不要使用正則表達式!
有您的問題一個簡單的純Java解決方案:
來源
2014-04-16 14:44:33 SebastianH
這裏是一個輝煌的解決方案,我在什麼地方找到: 使用正則表達式
,以適應任何字符,包括換行符因爲它適合任何空間或非空間字符。所以在你的情況下,會給:
雙反斜槓是爲了逃避反斜槓。
另一種可能是
這是其給出任何字符(除新行)或換行符:
出於某種原因,我的計算機上,在某些組合中,當我使用
(.|\n)+
正則表達式運行到一個奇怪的循環,並進入一個計算器:它沒有按」當我使用
[\s\S\]+
代替時會發生。但我不知道爲什麼。來源
2015-10-01 16:02:53
相關問題