如何使用正则表达式来匹配多行与不情愿

时间:2017-01-25 19:56:33

标签: java regex

我已经看到很多答案指出在reg表达之前使用(?s)但它会比我预期的更多。我在Eclipse Neon中使用搜索。

例如:

(?s)(\w+)\[\] (\w+) = new .+ (\{.*\});

正则表达式};会将第1行与第4行匹配,在最后};停止匹配,而我想让匹配在第一个imageView.setMaxWidth(getTypedValueInDP(20)); 停止,因此第1行和第3行\ 4可以单独匹配。

1 个答案:

答案 0 :(得分:1)

只需在?之后.*修复问题:

(?s)(\w+)\[\] (\w+) = new [^{]+ (\{.*?\});

这与{}之间尽可能少的字符匹配。