2016-12-02 19 views
0

假設我有regex1regex2。我想將regex1應用於text1,然後將regex2應用於結果。在這期間沒有兩次使用java方法的方法嗎?如何正確應用兩個正則表達式

我知道我可以做

text1 = text1.replaceAll(regex1,」」).replaceAll(regex2,」」); 

但是,有沒有辦法做到這一切在一個方法調用?像

text1 = text1.replaceAll(regex1+"|"+ regex2,」」);//this of course does not work 
+1

在看到您已經鏈接之前,我回答爲社區wiki。這是規範的答案 - 它有什麼問題?你爲什麼試圖避免這種情況? –

+0

我只是好奇正則表達式的力量。他們看起來很有趣。所以,我只是好奇。 –

回答

1

沒有辦法自動將兩個鏈接replaceAll(regex,"")成一個單一的replaceAll(regex,"")

舉例說明爲什麼不是:"bob".replaceAll("o","").replaceAll("bb","")
如果第一個已刪除o,第二個只刪除兩個b

您可以手動合併它們,因爲您可以看到它們可能如何進行交互,例如, "bob".replaceAll("o|bo*b",""),但組合兩個任意正則表達式是不可能的。