2013-05-16 136 views
0

我想在這個字符串中使用匹配器: #Function()(A)如何在第一次出現char時停止匹配器?

只選擇:#Function()

我使用正則表達式:

Pattern pat = Pattern.compile("\\#.*\\)"); 
Matcher match = pat.matcher(s); 

而我選擇超過我想要的:#功能()(a)

如何在第一次出現''''時停止匹配器?

回答

2

默認.*是貪婪的,所以它會盡可能地匹配,而保持整個事情合法。你可以通過使用.*?而不願意使用它,然後儘可能少地匹配,同時保持整個事情合法。的

0

代替.*使用[^\\)]*

試試這個:

Pattern pat = Pattern.compile("\\#[^\\)]+\\)"); 
相關問題