s), а полученные переменные являются строками, как и любые другие. Строка, созданная необработанным строковым литералом, во всех отношениях эквивалентна той же самой строке, определенной не-сырой, используя экранированные обратные косые черты.

тоящее время я создаю инструмент, который должен сопоставлять имена файлов с шаблоном. Для удобства я намереваюсь обеспечить как ленивое сопоставление (в стиле глобуса), так и сопоставление регулярным выражением. Например, следующие два фрагмента в конечном итоге будут иметь одинаковые эффекты:

@mylib.rule('static/*.html')
def myfunc():
    pass

@mylib.rule(r'^static/([^/]+)\.html')
def myfunc():
    pass

Насколько мне известноr'' полезен только для парсера Python и фактически создает стандартstr экземпляр после разбора (единственная разница в том, что он сохраняет\).

Кто-нибудь знает способ отличить одно от другого?

Я не хотел бы предоставлять два альтернативных декоратора для одной и той же цели или, что еще хуже, вручную анализировать строку, чтобы определить, является ли это регулярным выражением или нет.

Ответы на вопрос(3)

Ваш ответ на вопрос