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 VLM on Thursday March 28 2024, @04:16PM (6 children)
Speculation: Probably used an ASR-33
Facts: Noobs think ^ is a shift-6 but on an ASR-33 it's control-n, so we're talking about shift 4 vs control n
Speculation: Ken ran out of keys. This is not a 100+ key modern keyboard, so you're lucky it's shift-4 vs control-n and not even worse key combos.
(Score: 2) by maxwell demon on Friday March 29 2024, @07:47AM (2 children)
For me, ^ doesn't even need shift, it's the key left of the 1 key.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 2) by VLM on Friday March 29 2024, @07:39PM (1 child)
OK fine I give up what is your keyboard? Its not an AZERTY thing... You remap the key for some reason?
(Score: 3, Informative) by cereal_burpist on Saturday March 30 2024, @03:54AM
(Score: 2) by janrinok on Friday March 29 2024, @07:54PM (1 child)
[nostyle RIP 06 May 2025]
(Score: 2) by janrinok on Friday March 29 2024, @07:55PM
[nostyle RIP 06 May 2025]
(Score: 2) by janrinok on Friday March 29 2024, @08:02PM
[nostyle RIP 06 May 2025]