Вы забыли слово Robot
в своем шаблоне. Кроме того, круглые скобки являются специальными символами в регулярном выражении, и +
следует ставить после \d
, а не после (
:
Pattern.compile("^createRobot\\(\\d+,\\d+\\)$")
Обратите внимание, что если вы хотите проверить ввод, который должен состоять исключительно из этой "createRobot"
-строки, вы также можете сделать следующее:
boolean success = s.matches("createRobot\\(\\d+,\\d+\\)");
, где s
- это String
, который вы хотите проверить. Но если вы хотите получить сопоставленные числа, вам do необходимо использовать Pattern / Matcher:
Pattern p = Pattern.compile("createRobot\\((\\d+),(\\d+)\\)");
Matcher m = p.matcher("createRobot(12,345)");
if(m.matches()) {
System.out.printf("x=%s, y=%s", m.group(1), m.group(2));
}
Как видите, после вызова Matcher.matches()
(или Matcher.find()
) вы можете получить n th match-group через group(n)
.