你应该能够使用非贪婪的量词,特别是*?。你可能需要以下条件:
Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");
这将为你提供一个与你的字符串匹配的模式,并将文本放在第一组的方括号内。请查看Pattern api文档以获取更多信息。
Matcher m = MY_PATTERN.matcher("FOO[BAR]");
while (m.find()) {
String s = m.group(1);
// s Now contains "BAR"
}