SMSメッセージにクレデンシャル情報(パスワードなど)がある場合は、それをデータベースに永続化する前にマスクしたいSMSゲートウェイを構築しています。
コードは次のとおりです。
String message = "Your password is [MASK:1234]!";
boolean bMasked = message.matches("(\\[MASK:)*(\\])");
String plainText = message.replaceAll(..., "");
String withStars = message.replaceAll("...", "*");
System.out.println("bMasked: " + bMasked);
System.out.println("plainText: " + plainText);
System.out.println("withStars: " + withStar);
正規表現に関する私の知識は乏しいので、可能であれば次の出力を取得するためにあなたの助けが必要です。
bMasked: true
plainText: Your password is 1234!
withStars: Your password is ****!