Josh Rosenberg <shadowranger+pyt...@gmail.com> added the comment:

"\\-" is equivalent to the raw string r"\-" (that it, it has one backslash, 
followed by a hyphen). \X (where X is any ASCII non-letter, non-digit) matches 
the character itself (the escape does nothing except ensure the punctuation 
doesn't have any special regex meaning). So your pattern is equivalent to "-". 
Since re.match has an implicit anchor at the beginning of the string (making it 
roughly like "^-"), the string "\-" doesn't match.

Use raw strings consistently for your regular expressions to reduce the number 
of rounds of deescaping. re.match(r"\\-", "\\-") works as you expected.

----------
nosy: +josh.r

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue36206>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to