Java正则表达式替换问题

Java正则表达式替换问题,java,regex,Java,Regex,我有以下代码 private static final String REGEX_TEAMSPLIT = "([0-9]*)\\s-\\s([A-Z,a-z][a-z,\\s,A-Z]*)"; ... String reg = teamNames.get(0).html(); //reg == '62401 - Breakers' teamNumber = reg.replace(REGEX_TEAMSPLIT, "$1"); //teamNumber == '62401 - Breakers

我有以下代码

private static final String REGEX_TEAMSPLIT =
 "([0-9]*)\\s-\\s([A-Z,a-z][a-z,\\s,A-Z]*)";
...
String reg = teamNames.get(0).html();
//reg == '62401 - Breakers'
teamNumber = reg.replace(REGEX_TEAMSPLIT, "$1");
//teamNumber == '62401 - Breakers'
现在我假设这只会让我在网上看到第一组。但正如你所见,情况并非如此。有人能告诉我遗漏了什么吗?

你应该使用而不是。(
replace
方法不将第一个参数解释为正则表达式,而是逐字匹配)

String REGEX_TEAMSPLIT = "([0-9]*)\\s-\\s([A-Z,a-z][a-z,\\s,A-Z]*)";
String reg = "62401 - Breakers";
String teamNumber = reg.replaceAll(REGEX_TEAMSPLIT, "$1");
System.out.println(teamNumber); // => 62401