Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Wednesday March 27, @08:12PM   Printer-friendly
from the I-didn't-know-that-... dept.

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?


Original Submission

 
This discussion was created by janrinok (52) for logged-in users only, but now has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by hendrikboom on Thursday March 28, @01:24PM (2 children)

    by hendrikboom (1125) Subscriber Badge on Thursday March 28, @01:24PM (#1350674) Homepage Journal

    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.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by hendrikboom on Thursday March 28, @01:48PM

    by hendrikboom (1125) Subscriber Badge on Thursday March 28, @01:48PM (#1350678) Homepage Journal

    And some semantic changes that made it significantly less secure. And easier to implement.

  • (Score: 3, Informative) by bzipitidoo on Thursday March 28, @08:12PM

    by bzipitidoo (4388) on Thursday March 28, @08:12PM (#1350753) Journal

    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.