I first saw it used in building regular expressions across multiple lines as a method argument to
re.compile(), so I assumed that
r stands for RegEx.
regex = re.compile( r'^[A-Z]' r'[A-Z0-9-]' r'[A-Z]$', re.IGNORECASE )
So what does
r mean in this case? Why do we need it?
r means that the string is to be treated as a raw string, which means all escape codes will be ignored.
For an example:
'n' will be treated as a newline character, while
r'n' will be treated as the characters
'R'prefix is present,
a character following a backslash is
included in the string without change,
and all backslashes are left in the
string. For example, the string
r"n"consists of two
characters: a backslash and a
'n'. String quotes can be
escaped with a backslash, but the
backslash remains in the string; for
r"""is a valid string