什么是安全的正则表达式
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 430
Author 回答者: shfshanyue
下边这个正则表达式能把 CPU 跑挂的正则表达式就是一个定时炸弹,回溯次数进入了指数爆炸般的增长。
可以参考文章 浅析 ReDos 原理与实践
const safe = require("safe-regex");
const re = /(x+x+)+y/;
// 能跑死 CPU 的一个正则
re.test("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
// 使用 safe-regex 判断正则是否安全
safe(re); // false
safe-regex 能够发现哪些不安全的正则表达式。