Форум сайта python.su
33
pulya
я бы хотел флаги оставить, и уменьшить регулярку.
т.е. оптимизировать код, сделать его красивее.
подскажите пожалуйста как это корректно сделать.
re.compile(u"[а-яёa-z0-9]\w+", flags=re.I + re.U)
Отредактировано Budulianin (Окт. 26, 2013 21:18:01)
Офлайн
253
небольшие коламбурные замечания (это не ошибки а просто я так не привык писать)
>>> re.I + re.I == re.I | re.I False
>>> "\n+" '\n+' >>> "\w+" '\\w+'
Отредактировано doza_and (Окт. 26, 2013 21:34:51)
Офлайн
33
doza_and
Иногда бывает так, что в управляющей константе уже установлено несколько признаков (бит).
pattern = re.compile(u"[а-яёa-z0-9]\w+", flags=re.I + re.U)
Отредактировано Budulianin (Окт. 26, 2013 21:43:16)
Офлайн
857
Budulianinделай, как все делают во всех языках, не надо самодеятельности
Приведи пример пожалуйста, когда в константе уже что-то установлено
Офлайн
33
py.user.nextПривет, а как делают во ВСЕХ языках? :)
делай, как все делают во всех языках,
Иногда бывает так, что в управляющей константе уже установлено несколько признаков (бит).
Отредактировано Budulianin (Окт. 26, 2013 22:30:14)
Офлайн
857
Budulianinскладывают побитово
Привет, а как делают во ВСЕХ языках? :)
Budulianinэто просто маленький недочёт
Просто мне непонятно
Офлайн
33
py.user.nextКогда такой недочёт может получиться ?
это просто маленький недочёт
Офлайн
43
py.user.nextу меня сложение на 20% быстрее вычисляется
по скорости они могут различаться, плюс, это ясность

Budulianinпри дублировании
Приведи пример пожалуйста, когда в константе уже что-то установлено
myflag = re.I|re.U myflag|re.I == myflag Out[24]: True
Офлайн
0
sergeekспасибо за пример когда в константе уже чтото есть.
Офлайн
33
sergeekЯ думал флаги сразу во flags пишут.
при дублировании
Офлайн