我發現了一個正則表達式,它與用{}包圍的標記相匹配,但它似乎只能找到第一個找到的項目。Java與正則表達式匹配多個標記
如何更改以下代碼以便找到所有的令牌而不僅僅是{World},我需要使用循環嗎?
// The search string
String str = "Hello {World} this {is} a {Tokens} test";
// The Regular expression (Finds {word} tokens)
Pattern pt = Pattern.compile("\\{([^}]*)\\}");
// Match the string with the pattern
Matcher m = pt.matcher(str);
// If results are found
if (m.find()) {
System.out.println(m);
System.out.println(m.groupCount()); // 1
System.out.println(m.group(0)); // {World}
System.out.println(m.group(1)); // World (Get without {})
}
感謝這個偉大的工程,只是想知道有沒有簡單的方法來獲得比賽的總額是多少?或者最好的辦法是將每個找到的項目在while循環中添加到總變量中? – zeddex 2012-08-02 11:39:54