Regex libraries often distinguish between a string containing a regex, and matching it.
The string "aaaa" is a Regular Expression that describes a language with exactly one string: "aaaa".
Some regular expression libraries have two operations: They can tell you if a string contains a match somewhere within it, or is exactly a match. Some other libraries only do the first operation, and you need to explicitly ask for "^aaaa$" to get an exact match.
This is one of the things on the differences between the formal definition of a Regular Expression, and a regex library.
I would say that adding slashes is quite arbitrary constraint, and it is really language specific syntax that is limited to minority of languages (I believe it was introduced in Perl). If you do regexp in Java, Python, C you don't use slashes.
Edit: looks like slashes weren't even used in the example.
Perl's use of this syntax had ancestors in awk, sed, ed, and qed - originally just for string replacements in qed until Ken Thompson wrote a version that did regexps too. It dates back to 1967. https://www.bell-labs.com/usr/dmr/www/qed.html
> […] for the sake of the challenge, let the expression be delimited (starting symbol, expression, ending symbol ex: /fancypantpattern/ or @[^2048]@), if you want to argue quotes as your delimiter, so be it. I think given the apparent difficulty of this problem it won't make much of a difference.
If you're in a position where you need to follow a guide to install Python on Windows, then you're probably so new to Python that you're unlikely to be working with legacy code. Therefore, I'd suggest working with Python 3 and using 64-bit.