正则表达式,以获取多行的String / StringBuffer值

时间:2011-12-21 08:16:01

标签: java regex

假设我们有一个字符串:

String str = "Some value" +
             "value 2" + variable + "value 3";

我想要一个multiLine正则表达式,它可以给我str的值。

对于String,我使用的是"(.+)\\s*[+=]\\s*(.+)(.*)[\\+]",但它很可能无法声明String。

还有StringBuffer,如:

query.append("Some Value").append(" value 2")
     .append(variable).append(" value 3");

对于这个也可以为我提供query

值的多行正则表达式

对于StringBuffer,我使用的是"[\\s]*([\\w]*)\\.append[\\s]*[(][\\s]*([\"][[^\"]|\"\"]*[\"])(.*)[)].*"

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用Pattern并使用Pattern.DOTALL编译正则表达式。

顺便说一句,为了匹配一个paren,你只需要使用\((即引用时为"\\("),不需要字符类。