First question, and my apologies if it is off-topic! This question suggests to me I may not be totally off-base.
Where did our present regex notation originate? I am particularly wondering how
$ came to mean "end," particularly since its most common use in the English-speaking world (as far as I know) is as a prefix to numbers. I also wonder about
. for "any".
* I know came directly from Kleene, and
+ seems like a logical extension of
*, if only because they are closely related in mathematics.
I have been several pages down in a couple different Google Web and Scholar searches. I have also looked here and on SO and softwareengineering.SE, but I can't find an answer. I checked Perl 6's Apocalypse 5, but it doesn't explain how we got our present notation. I seem to recall that Kernighan's Software Tools might have had some information, but I can't put my hands on a copy at the moment. Thank you!
the Escape character ... is written as "$" (for historical reasons, of course).
Id. That considerably predates UNIX v3 (1973), but doesn't explain the then-existing "historical reasons."