「a」タグの「href」の後に「=」を置き換える正規表現を作成しました。
output.replaceAll("(<a.*)href=(.*>)", "$1href" + replacemantstring+ "$2");
問題は、それが「=」の最後の出現をhref..の後に置き換えるだけであるということです。
私は何を間違えましたか?
ワイルドカードを欲張り .*
から非 欲張りに変更する必要があります.*?
。href=
これにより、正規表現が最初の一致で停止するため、次のオカレンスにも一致します。
href
パラメンターのリンクをに置き換えたい場合はnewURL
、
output.replaceAll("(?i)(<a[^>]*?\\shref\\s*=)(['"]).*?\\2", "$1$2" + newURL + "$2");
編集:タグのすぐ=
後ろhref
を置き換えたい場合は、<a>
output.replaceAll("(?i)(<a[^>]*?\\shref\\s*)=", "$1" + replacement);