我想在这个字符串中使用Matcher: 的 #Function()(a)中
仅选择: #Function()
我正在使用这个正则表达式:
Pattern pat = Pattern.compile("\\#.*\\)");
Matcher match = pat.matcher(s);
我选择的比我想要的更多: #Function()(a)。
如何在第一次出现')'时停止匹配?
答案 0 :(得分:2)
默认情况下.*
是贪婪的,所以它会尽可能多地匹配,同时保持整个事情合法。您可以使用.*?
代替它,但它会尽可能少地匹配,同时保持整个事物的合法性。
答案 1 :(得分:0)
而不是.*
使用[^\\)]*
试试这个:
Pattern pat = Pattern.compile("\\#[^\\)]+\\)");