В PEP 0263 формат для определения кодировки файла Python определяется как :
coding[:=]\s*([-\w.]+)
Почему в регулярном выражении есть .
или, наоборот, почему есть -
и \w
? Насколько я понимаю, .
соответствует любому символу, кроме новой строки, поэтому либо [-\w]
, либо [.]
будут соответствовать допустимым именам, состоящим из буквенно-цифровых символов и дефиса.
По какой причине -\w
и .
указываются вместе в [-\w.]
?
.
не является специальным символом в классе символов - person Robin   schedule 23.04.2014[.]:literal dot character
- person HamZa   schedule 23.04.2014