On 13/02/17 00:23, Erik wrote:
r"hello \the" "worl\d" "\t"
'hello \\theworl\\d\t'

The initial string is raw. The following string adopts that (same as the
second example), but the _next_ string does not!

Why is the first string token parsed as a "raw" string, the second
string token also parsed as a "raw" string (without the 'r' prefix), but
the third string token NOT?

That's what I'm trying to point out.

OK, I get it now - because '\d' is not a valid escape sequence, then even in a non-raw string literal, the '\' is treated as a literal backslash character (not an escape).

So, the second string token is NOT being treated as "raw", it just looks that way from the repr (and as you point out, a newer version of the parser which explicitly complains about invalid escape sequences removes that ambiguity).

Cool ;)

E.

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to