Slash Boxes

SoylentNews is people

Submission Preview

Link to Story

Why do regexes use `$` and `^` as line anchors?

Accepted submission by owl at 2024-03-25 16:54:36
Software []

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?

Original Submission