无法在两个注释之间多次匹配代码

时间:2012-11-30 04:07:06

标签: java regex

我希望在某个文件中获得两条评论之间的内容。

像文件x

#user code
alert("");
alert("");
#user code


{
 ===
====
}

#user code
alert("as");
alert("as");
#user code

我正在使用此正则表达式匹配

final Pattern pat = Pattern.compile("//#User code\r?\n(.*)\r?\n//#User code" ,    Pattern.DOTALL);

但它从第一个#user代码到文件末尾的匹配。

请帮助。

1 个答案:

答案 0 :(得分:1)

快速解决方法是使用.*?而不是.*?*更改为非贪婪重复,这将重叠到最近的#user code,而不是最远的。{/ p>