我想在大括号之间捕获组,并且以下模式成功了
String pattern = "(\\{.*?\\})+";
示例输入
String line = "I expect(dd) new five{I\r\nII} hundred dollars new test {$500} {$1}.";
// Create a Pattern object
Pattern r = Pattern.compile(pattern ,Pattern.DOTALL);
// Now create matcher object.
Matcher matcher = r.matcher(line);
while(matcher.find())
{
System.out.println( matcher.group());
}
并且预期的输出是
{I\r\nII}
{$500}
{$1}
但出乎意料的是,当我尝试使用包含new
关键字的组
String pattern = "(new.*\\{.*?\\})+";
我知道了
new five{I\r\nII} hundred dollars new test {$500} {$1}
我希望输出是
new five{I\r\nII}
new test {$500}
我的代码有什么问题?