内容
Androidでidを定義する場所ではないのに@+idを用いている場所を正規表現でぱっと置換えちゃおうって内容です。
使う場面
Androidでxmlを用いてレイアウトを作成している時、idを定義したい場所以外でidを使う場面がよくあると思います(ConstraintLayoutで位置を指定したい時など)。
そこで@+idを指定してしまうと思わぬエラーに遭遇する可能性がある 詳しくはこちらを参照
一度書いてしまったコードを手作業で直すのはめんどくさいので正規表現で直しましょう。
使う正規表現
^(?=(.*)@\+id(.*))(?!.*android:id).*$
これで@+idを含む かつ android:idではないものを抜き出せます。
そして、
$1@id$2
で置換を行えば目的が達成できます!