Java 无法在两个注释之间匹配代码,多次
我想在某个文件中的两个注释之间获取内容 像一个文件xJava 无法在两个注释之间匹配代码,多次,java,regex,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 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);
但它从第一个用户代码到文件结尾都是匹配的
请提供帮助。一个快速解决方法是使用
*?
而不仅仅是*
。?
将*
更改为非贪婪重复,将匹配到最近的#用户代码,而不是最远的。您可能还希望使用不区分大小写的标志(?i)