知识卡片

真实数据需要假设

普通读书笔记卡 · 1913.a

内容

提取 URL、邮件头或 CSV 时,正则必须显式承认输入假设:哪些字符允许、哪些异常忽略、失败如何处理。没有“真实世界通吃”的表达式,只有适合目标数据和风险的表达式。

参考来源

- 位置:第5章《正则表达式实用技巧》「了解数据,做出假设」小节(源文件:_epub-src/text/part0010_split_005.html) - 结论依据:原文明确指出构建和使用正则表达式必须清楚对目标数据做出了什么假设,假设常常过分乐观、会低估作者意图与实际应用之间的差异,直接支持卡片对'没有放之四海而皆准的表达式,只有适合目标数据的表达式'的论述。 - 原始内容:"知道正则表达式会在什么情况中应用,关于目标数据又有什么样的假设,这非常重要……对数据做出假设,对正则表达式的应用方式做出假设,都无可厚非。问题在于,假设如果存在,通常会过分乐观。"