Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
posted by janrinok on Wednesday March 27 2024, @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 VLM on Thursday March 28 2024, @04:16PM (6 children)

    by VLM (445) Subscriber Badge on Thursday March 28 2024, @04:16PM (#1350711)

    Okay, but then why did Ken Thompson choose those characters?

    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.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by maxwell demon on Friday March 29 2024, @07:47AM (2 children)

    by maxwell demon (1608) on Friday March 29 2024, @07:47AM (#1350821) Journal

    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)

      by VLM (445) Subscriber Badge on Friday March 29 2024, @07:39PM (#1350900)

      it's the key left of the 1 key

      OK fine I give up what is your keyboard? Its not an AZERTY thing... You remap the key for some reason?

  • (Score: 2) by janrinok on Friday March 29 2024, @07:54PM (1 child)

    by janrinok (52) Subscriber Badge on Friday March 29 2024, @07:54PM (#1350903) Journal
    There is an image of the keyboard that Ken Thompson had available to him at the time. It has far fewer options than a modern keyboard.
    --
    [nostyle RIP 06 May 2025]
    • (Score: 2) by janrinok on Friday March 29 2024, @07:55PM

      by janrinok (52) Subscriber Badge on Friday March 29 2024, @07:55PM (#1350904) Journal
      The is an image in the source link ....
      --
      [nostyle RIP 06 May 2025]
  • (Score: 2) by janrinok on Friday March 29 2024, @08:02PM

    by janrinok (52) Subscriber Badge on Friday March 29 2024, @08:02PM (#1350906) Journal
    He had a Teletype Model 35. All this information is in the linked source. It had fewer keys that the ASR-33.
    --
    [nostyle RIP 06 May 2025]