Python: регулярное выражение выдает или не выдает ошибку в зависимости от того, какой REPL используется.Python

Программы на Python
Anonymous
Python: регулярное выражение выдает или не выдает ошибку в зависимости от того, какой REPL используется.

Сообщение Anonymous »

Рассмотрим следующий код Python, использующий библиотеку регулярных выражений re

Код: Выделить всё

import re
re.compile(rf"{''.join(['{c}\\s*' for c in 'qqqq'])}")
Я запускал его в двух разных REPL:
https://www.pythonmorsels.com/repl/

https://www.online-python.com/#google_vignette
Первый из которых не выдает ошибки, а второй выдает следующую ошибку:

Код: Выделить всё

File "main.py", line 2
re.compile(rf"{''.join(['{c}\\s*' for c in 'qqqq'])}")
^
SyntaxError: f-string expression part cannot include a backslash
Я обнаружил аналогичное несоответствие в поведении моей машины и машины моего друга, обе под управлением Ubuntu. Я хотел бы понять, почему иногда я получаю сообщение об ошибке, а не другие. Это из-за другой версии Python? Как я могу сузить именно то, в чем заключается разница? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/786 ... pl-is-used

Вернуться в «Python»