正規表現を使用して変換したい文字列があります:
AA_BB_CC_DD
=>EE_BB_FF_DD
のような正規表現を使用してみ(AA)(.*)(FF)
ました。しかし、それはうまくいきませんでした。誰かが助けることができますか?
また、良い正規表現ガイドを教えていただければ幸いです。正規表現のサイトが多すぎます。どちらを参照すればよいかわかりません。
完全な説明が必要な場合は、こちらをご覧ください: http://www.regular-expressions.info/tutorialcnt.html
それがどのように機能するかを理解すれば、パターン APIで十分です。
あなたの例では、AA -> EE、BB -> BB、CC -> FF、DD -> DD だと思います。したがって、次のことを試すことができます。
String before = "AA_BB_CC_DD";
String after = before.replaceAll("AA_(.*)_CC_(.*)", "EE_$1_FF_$2");
そして、あなたは結果を得る。正規表現を説明します:
"AA_(.*) CC (.*)"
プログラムは AA_, と一致しようとします。は任意の文字を意味し、* はそれを繰り返すことを意味します。したがって、AA_ とCCの間の任意の文字列が一致します。()内は「覚える」グループを示します。
"EE_$1_FF_$2"
AA_ は EE_ に置き換えられます。$1 は、最初のグループ () を出力することを意味します。
FF と $2 も同様です。