Я использовал этот код, который я написал некоторое время назад для моего бота Discord в Java:
Pattern pattern = Pattern.compile("\\/setNickname ([^\\s]+)");
Matcher matcher = pattern.matcher(messageReceivedEvent.getMessage().getContentRaw());
boolean foundMatch = matcher.find();
if (foundMatch && matcher.groupCount() > 0) {
String discordUserId = messageReceivedEvent.getAuthor().getId();
String extractedName = matcher.group(1);
Чтобы изменить псевдонимы на основе текста, который пользователь вводит в канал в формате : [HH:MM:SS] /setNickname Bill
Этот код работает правильно. Однако теперь я хочу изменить его, но мне кажется, что я не могу заставить шаблон регулярного выражения работать с новым форматом сообщения. Это всегда сообщение, которое игрок должен вводить с отметкой времени, поэтому запись будет выглядеть следующим образом: [HH:MM:SS] Bill 4cYaUTKzT2odRf2
В какой-то момент я планирую развить это и сделать его переменной, чтобы исключить до и после второго пробел кажется наиболее логичным выбором, но я борюсь с ним.
Ввод будет: [HH:MM:SS] Bill 4cYaUTKzT2odRf2
Результат должен быть просто: Bill
Любая помощь будет принята с благодарностью!