知识卡片

字符组不是多选

普通读书笔记卡 · 1909.b

内容

字符组描述“当前位置允许哪些单个字符”,多选结构描述“当前位置允许哪些表达式分支”。二者偶尔结果相似,但能力和成本不同。发散:把字符级选择误写成分支,会让表达式更慢、更难维护。

参考来源

- 位置:第1章《正则表达式入门》「字符组」小节(源文件:_epub-src/text/part0006_split_004.html) - 结论依据:原文用「gr[ea]y」示例说明字符组匹配单个字符位置的多种可能,并明确指出字符组「[abc]」和多选项「(a|b|c)」表示同一意思但相似性不能推广,字符组只能匹配一个字符而多选项可匹配任意长度文本,直接支持卡片论点。 - 原始内容:"字符组「[abc]」和多选项「(a|b|c)」固然表示同一个意思,但是这个例子中的相似性并不能推广开来。无论列出的字符有多少,字符组只能匹配一个字符。相反,多选项可以匹配任意长度的文本。"