SQL 不是字符串:一个零依赖解析器能替你干的六件事

SQL 不是字符串:一个零依赖解析器能替你干的六件事SQL 不是字符串:一个零依赖解析器能替你干的六件事一、五分钟写出来的代码需求很朴素:发布前扫一遍订单模块的所有 SQL,列出它们碰了哪些表,评估改动影响面。第一版实现长这样:Pattern p = Pattern.compile("(?


正则抠 SQL 翻车之后:聊聊解析器这件事

正则抠 SQL 翻车之后:聊聊解析器这件事做过 SQL 审计或上线影响面评估的,大概都试过一招:正则抠 FROM / JOIN。Pattern p = Pattern.compile("(?i)(?:from|join)\\s+([a-zA-Z0-9_`.]+)");Matche