https://buttondown.email/hillelwayne/archive/why-do-regexes-use-and-as-line-anchors/
Last week I fell into a bit of a rabbit hole: why do regular expressions use $ and ^ as line anchors?1
This talk brings up that they first appeared in Ken Thompson's port of the QED text editor. In his manual he writes: b) "^" is a regular expression which matches character at the beginning of a line.
c) "$" is a regular expression which matches character before the character (usually at the end of a line)
QED was the precursor to ed, which was instrumental in popularizing regexes, so a lot of its design choices stuck.
Okay, but then why did Ken Thompson choose those characters?
(Score: 2) by hendrikboom on Thursday March 28 2024, @01:24PM (2 children)
And, of course, Algol 68. Which introduced an algebra of types, which became the type system of C after some syntax changes that made it harder to understand.
(Score: 2) by hendrikboom on Thursday March 28 2024, @01:48PM
And some semantic changes that made it significantly less secure. And easier to implement.
(Score: 3, Informative) by bzipitidoo on Thursday March 28 2024, @08:12PM
And then, after ALGOL 68, the language just vanished. Did you ever wonder what happened to it? Pascal, that's what. ALGOL W was an alternate vision for the next version of ALGOL that was rejected in favor of what became ALGOL 68. ALGOL W was then used as the basis for Pascal.