2

我正在尝试写这样的东西:

Pattern p = Pattern.compile("Mar\\w");
Matcher m = p.matcher("Mary");

String result = m.replaceAll("\\w");

理想的结果是"y". 有任何想法吗?

4

1 回答 1

7

你的问题不是很清楚,但我认为你想使用前瞻:

Pattern p = Pattern.compile("Mar(?=\\w)");
Matcher m = p.matcher("Mary");
String result = m.replaceAll("");

在线查看:ideone

或者您可以使用捕获组:

Pattern p = Pattern.compile("Mar(\\w)");
Matcher m = p.matcher("Mary");
String result = m.replaceAll("$1");

在线查看:ideone

于 2011-02-17T20:51:10.590 回答