2013-05-16 138 views
0

我想在这个字符串中使用匹配器: #Function()(A)如何在第一次出现char时停止匹配器?

只选择:#Function()

我使用正则表达式:

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

而我选择超过我想要的:#功能()(a)

如何在第一次出现''''时停止匹配器?

回答

2

默认.*是贪婪的,所以它会尽可能地匹配,而保持整个事情合法。你可以通过使用.*?而不愿意使用它,然后尽可能少地匹配,同时保持整个事情合法。的

0

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

试试这个:

Pattern pat = Pattern.compile("\\#[^\\)]+\\)"); 
相关问题