2011-02-17 85 views
2

我想写的东西是这样的:Java正则表达式

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

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

结果将理想"y"。有任何想法吗?

+0

什么是目前的问题? – Argote 2011-02-17 20:50:35

+0

现在没问题,但问题是我不知道如何“问Java”它是作为\\ w使用的。在上面,Java使用\\ w表示字母'y'。 $ 1是我需要的语法。 – 2011-02-19 20:00:02

回答

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