チャットで話しているプレイヤーをリッスンする Minecraft Bukkit サーバー用の単純な IP Regex があり、チャット メッセージに有効な IPv4 アドレスが含まれている場合は、それをサーバー IP に置き換えます。明らかに、その目的は、人々が入ってきてスパムを送信してサーバーに参加してから離れるのを防ぐことです. 今では単純な正規表現がうまく機能しますが、人々はすでにこれを考えていて、そうするでしょう
'Join my server! 127 . 0 . 0 . 1 !!!'
私の現在のコード、
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerChat(PlayerChatEvent event) {
String msg = event.getMessage();
String ipRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}";
String ipfixed = msg.replaceAll(ipRegex, "mc.blockie.net");
event.setMessage(ipfixed);
}
ほんの数分間のブレインストーミングで、チャット文字列からすべてのスペースを削除して正規表現チェックを行うという方法しか思いつきませんでしたが、送信されたすべてのチャット メッセージに正直なところ、私が試した限りです。