Я читаю http://docs.python.org/2/library/re.html. В соответствии с этим "r" в pythons re.compile( r "флаги шаблонов" ) относится к нотной строке:
Решение состоит в использовании нотной строки Pythons для регулярных шаблоны выражений; обратная косая черта не обрабатывается каким-либо особым образом в строковый литерал с префиксом "r". Таким образом, r "\n" является двухсимвольной строкой содержащие "\" и "n", а "\n" - односимвольная строка содержащий новую строку. Обычно шаблоны будут выражаться в Python код с использованием этой необработанной строковой нотации.
Было бы справедливым сказать, что:
re.compile(r) означает, что "шаблон" является регулярным выражением, а re.compile(pattern) означает, что "шаблон" является точным совпадением?