fn compile_or_log(pat: &str) -> Option<Regex>Expand description
编译正则,失败时记日志并返回 None(绝不 panic)。
re! 宏的 .unwrap() 在 panic = "abort" 下会直接杀进程——任何未来的
正则转录错误都会让整篇含化学公式的文章渲染崩溃。改为降级返回 None
后,坏正则只让该模式匹配失败(状态机退到 “else” 兜底分支产出原样字符),
不影响整体渲染。all_match_patterns_compile 测试仍会在测试期捕获回归。