知识卡片

模式改变语义

普通读书笔记卡 · 1911.b

内容

大小写、多行、单行、宽松排列等模式不是装饰参数,它们会改变点号、锚点、空白和大小写折叠的语义。发散:正则审查必须同时审查表达式和模式标志,否则看到的只是半个程序。

参考来源

- 位置:第3章《正则表达式的特性和流派概览》「匹配模式」相关小节(源文件:_epub-src/text/part0008_split_003.html) - 结论依据:原文说明各语言用不同的修饰符(/i、/x等)表示不区分大小写、宽松排列等匹配模式,这些模式会实际改变正则表达式的解释方式,直接支持卡片对模式改变语义的论述。 - 原始内容:"Perl使用/g、/i、/x之类的符号来表示特殊的条件(这些修饰符分别代表全局替换、不区分大小写和宽松排列模式)……java.util.regex则……给函数传递不同的标志位(flag)参数(例如Pattern.CASE_INSENSITIVE和Pattern.COMMENTS)来实现。"