QED 中的正则表达式
QED(Quick Editor)最初是为运行在Scientific Data Systems公司生产的SDS 940上的Berkeley Timesharing System而编写的。QED是Ken Thompson对MIT的Compatible Time-Sharing System上运行的一个编辑器重写后的版本,它是计算领域中最早的正则表达式实现程序之一。表A-1是从1970年贝尔实验室备忘录中选取的,它列出了QED中的正则表达式特性。直到40多年后的今天,这种语法在很大程度上仍在使用,这着实令人震惊。
表A-1 QED正则表达式
特性 | 描述 |
字面值 | (a) 正则表达式,匹配该字符本身 |
^ | (b) 正则表达式,匹配一行起始处的空字符 |
$ | (c) 正则表达式,匹配字符换行符之前的空字符(通常在一行的结尾处) |
. | (d) 正则表达式,匹配除换行符之外的任意字符 |
[<string>] | (e) 正则表达式,仅匹配字符串中的任意字符 |
[^<string>] | (f) 正则表达式,匹配除换行符和字符串中的字符之外的任意字符 |
* | (g) 正则表达式(由一个正则表达式后跟*构成),其匹配的是该正则表达式匹配的文本接连出现任意次(包括零次)所形成的内容 |
| | (i) 正则表达式(由两个被|分隔的正则表达式构成),匹配的是两个正则表达式中的任何一个所匹配的文本 |
() | (j) 正则表达式(由正则表达式加括号组成),它与原表达式匹配的文本相同。括号是用来改变(g)、(h)以及(i)中隐含的求值顺序:a(b|c)d会匹配abd或acd,而ab|cd匹配的则是ab或cd |
{} | (k) 如果是一个正则表达式,则{<regexp>}x也是一个正则表达式,其中x是任意字符。该正则表达式与匹配相同的内容;它在替换命令中会有某些副作用。(替换命令的构成形式是(.,.)S/<regexp>/<string>/(参见实验室备忘录的第13页),与如今它在sed 和Perl等程序中的用法相似。) |
\E | (l) 如果是由E命令命名的正则表达式名,则\E是一个正则表达式,它与E命令中指定的正则表达式匹配的内容相同。更多讨论见后面的E命令。”(\E命令允 许对则表达式命名并根据名字来重复使用该表达式。) |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论