“模式:事物的标准样式”。这是汉语词典中的解释,但在英语环境下--特别是在计算机编程领域中,“模式”一般也指“事物的标准样式”,比如“设计模式(design pattern)”,就是指“设计的标准样式”。但在正则表达式语境下,“模式”除对应 pattern 之外还对应着 mode 和 schema:
Pattern(模式):表示正则表达式(可以作为正则表达式的代称)。因为一个正则表达式可能会匹配多个字符序列,而可以认为所有匹配的字符序列都具有相同的模式(即“标准样式”,或符合“标准格式”)。
Mode(模式):表示匹配的方式,比如以不区分大小写的方式匹配等。也称为匹配模式。
Schema(模式):表示 W3C XML Schema(严格来讲,这个“模式”与正则表达式无关)。而 W3C XML Schema 译为“模式”之所以有意义,是因为一份 XML Schema 文档规定了一类 XML 实例文档的标准样式--包括标记构成和元素及属性取值的范围。在 W3C XML Schema 中,正则表达式的用途就是用来限制元素及属性可取值的类型和范围。比如,要限制某元素的 number 属性只能是一位数字,就可以通过 <xs:pattern value=”\d” /> 来表示。
为之漫笔(李松峰),本博客专注于Web前后端技术、移动平台开发技术、交互设计和技术翻译。声明一下,因为时常需要外出审稿,而且基本不带笔记本,所以有时可能会迟一点回复大家的留言。
Old Farmer Johnson was dying. The family was standing around his bed. With a low voice he said to his wife: “When I’m dead I want you to marry farmer Jones.”
Wife: “No, I can’t marry anyone after you.”
Johnson: “But I want you to.”
Wife: “But why?”
Johnson: “Jones once cheated me in a horse deal!”