Python дает неожиданный конец регулярного выражения - PullRequest
0 голосов
/ 27 января 2019

Я хотел бы проверить строки на скороговорку.Он отлично работает на консоли:

if re.match('(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}','rains . cat / dog'):
    print 'ok'

Но когда я хочу использовать его в своем коде Django:

pat = "(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}"

if re.match(pat, body):
    return True

Я получаю эту ошибку:

unexpected end of regular expression

Следуя предложениям по другим ответам, я также попытался // и //// вместо /, но не смог заставить его работать.

Так интересно, как я могу это исправить?

1 Ответ

0 голосов
/ 27 января 2019

Используйте r перед регулярным выражением.Попробуйте с этим:

pat = r'(?!.*example).*[a-zA-Z0-9]{1,}\s{0,}(.*)\s{0,}\/\s{0,}[a-zA-Z0-9]{1,}'

Или вы можете использовать \.

pat = "(?!.*example).*[a-zA-Z0-9]{1,}\\s{0,}(.*)\\s{0,}\\/\\s{0,}[a-zA-Z0-9]{1,}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...