为什么在正则表达式中选择插入符号 (^) 和美元符号 ($) 作为行的开头/结尾?

ssh*_*shh 20 regular-expression historical-unix

澄清一下,这不是关于插入符号 (^) 或美元符号 ($) 在正则表达式中的作用的问题。

在具有 QWERTY 布局的现代键盘中,^出现在后面$(即^出现在数字 6$上方和4 上方),所以当我使用它们时,我总是有一段时间的手眼不协调,比如^foobar$.

所以我很好奇,为什么从历史上看,为什么选择插入符号和美元符号来匹配行的开头/结尾,因为如果将它们颠倒过来会更直观。

也许他们当时有不同的键盘布局?显然,在 vi 中选择 ESC 来改变模式的原因是它对 Bill Joy 的键盘有意义:为什么 vim 使用 hjkl 键作为箭头键

小智 -6

历史上?为什么?

我宁愿说:

^看起来像一个向上的箭头,可以被视为“之前”,就像您之前阅读的文本位于您现在正在阅读的文本之上。

$用来扩展变量,但是如果后面没有任何内容,就没有什么可以扩展的了,所以它到了最后,后面什么也没有,就有了全新的意义,什么叫完美。

我认为这更多的是从一开始就直观的问题,什么可以被认为是历史性的,我只是没有证据来证实这一点;)

另外,您可以随时重新映射键盘,并用您喜欢的符号在这些符号上粘上一些纸;)