java - 无法多次匹配两次提交之间的代码

标签 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代码到文件末尾匹配。

请帮忙。

最佳答案

快速解决方法是使用 .*? 而不仅仅是 .*?* 更改为非贪婪重复,它将匹配直到最近的#user code ,而不是最远的。

关于java - 无法多次匹配两次提交之间的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638860/

相关文章:

mysql - 通过正则表达式连接 MySQL 表(下划线后)

regex - 使用 mod rewrite 更改查询文本

c# - 如果捕获组不存在,返回空字符串?

java - Spring Security、无状态 REST 服务和 CSRF

java - Spring DSL 处理流程后?

java - 在泛型方法中创建泛型数组实例

java - 随机 SSLException Unsupported record version Unknown-0.0

java - WSO2 ESB 填充 JMS 消息存储配置问题

JavaScript 正则表达式。获取图片src

JavaScript 正则表达式否定完全匹配的字符串