在標籤href屬性後,我做了一個正則表達式中的「一」的標籤,以取代「=」的「href」之後:正則表達式替換= java中
output.replaceAll("(<a.*)href=(.*>)", "$1href" + replacemantstring+ "$2");
問題IST,它只是取代了過去在href之後出現「=」...
我做錯了什麼?
在標籤href屬性後,我做了一個正則表達式中的「一」的標籤,以取代「=」的「href」之後:正則表達式替換= java中
output.replaceAll("(<a.*)href=(.*>)", "$1href" + replacemantstring+ "$2");
問題IST,它只是取代了過去在href之後出現「=」...
我做錯了什麼?
你需要從貪婪.*
到非貪婪.*?
改變你的通配符。這會使你的正則表達式停止在第一個href=
匹配,因此也匹配下面的發生。
如果你想與newURL
替換href
paramenter鏈接,然後使用
output.replaceAll("(?i)(<a[^>]*?\\shref\\s*=)(['"]).*?\\2", "$1$2" + newURL + "$2");
編輯:如果您想更換背後href
只是=
在<a>
標籤,然後用
output.replaceAll("(?i)(<a[^>]*?\\shref\\s*)=", "$1" + replacement);
您能否提供帶有預期輸出的樣本輸入? –
您需要提供輸入和預期輸出。無法理解你到底想要什麼。你發佈的正則表達式不會取代任何東西。 –
太多的人回答沒有閱讀的問題,也沒有標籤... 3回答4是JavaScript的答案... –