我目前正在重构别人编写的程序。
我想find all DAOs inside for loops并尽可能将其更改为一次性DB访问。

我已经尝试过以下正则表达式,但是它找不到我想要的东西。它仅搜索后跟DAO的循环。

for\s*\((.*\r\n)*?.*dao


它可以帮助我手动修复DAO,但是仍然有太多代码。

在for循环中找到DAO的正则表达式是什么?

更新

这是一个例子。

for (String userId : userIds) {
    User user = UserDao.select(userId);
    System.out.println(user);
}

最佳答案

我会用这样的东西:

for\s+\(.*?\)\s*\{.*?dao.*?\}


确保打开dotall标志,以便.也可以匹配换行符。测试here

关于java - 正则表达式在for循环中找到DAO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25333714/

10-11 02:25
查看更多