我正在準備Oracle認證Java程序員。我正在研究正則表達式。我正在通過javaranch Regular Expression,我無法理解示例中存在的正則表達式。請幫助我理解它。我在這裏添加了供參考的源代碼。謝謝。正則表達式示例混淆
class Test
{
static Map props = new HashMap();
static
{
props.put("key1", "fox");
props.put("key2", "dog");
}
public static void main(String[] args)
{
String input = "The quick brown ${key1} jumps over the lazy ${key2}.";
Pattern p = Pattern.compile("\\$\\{([^}]+)\\}");
Matcher m = p.matcher(input);
StringBuffer sb = new StringBuffer();
while (m.find())
{
m.appendReplacement(sb, "");
sb.append(props.get(m.group(1)));
}
m.appendTail(sb);
System.out.println(sb.toString());
}
}
那你沒有在該代碼明白了嗎? –
我無法檢測正則表達式。首先,你能幫助我這個正則表達式解釋什麼。 – benz
@benz:看看這個:[www.debuggex.com/r/g6_JM9gTX5RDSA5R](http://www.debuggex.com/r/g6_JM9gTX5RDSA5R) – jlordo