They are "converted" (interpolated, actually), but you are matching apples to apples, so it doesn't matter. First, the backslash is simply a representation of an "invisible" character. It's not as simple as "removing the backslash".
Context is also very important. In a double-quote interpolated string, a pipe '|' is just a pipe. But in a regex, it takes on the meaning of OR in a match. Here's the string you created, translated a bit:
$hello = "^<newline><space><pipe><tab><carriage return>$"
I think this is exactly what you expected. Then you set up a match, wherein you ask:
Does $hello contain one or more of
[<space><pipe><tab><carriage return><newline>],
which start at the beginning of the string, and end at the end of
+the string
(this is called anchoring, by the way)?
And yes it does, as noted above. I'm not sure why you would think it wouldn't match. Regexes are interpolated similarly to quoted strings, but there are additional meanings within a regex that also have to be considered.
Instead of worrying about passes of interpretation or whatever, just think about what each special character means in the context in which you are using it.
--marmot |