Size: a a a

Emacs — русскоговорящее сообщество

2021 August 27

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
def get_pattern(text, regobj):
   matches = re.findall(text, regobj)
   regexp_str = str()
   regexp_str = "|".join(matches)
   pattern = re.compile(regexp_str)
   return pattern
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
тупо нашел все матчи и слепил их все вместе дизъюнкцией
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
скажем из такого
re.compile('[A-Z]\\S* |\\S*[aeiou]')
получаем такое
re.compile('Lorem |ipsu|dolo|si|ame|Hello |wo')
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
ну ок. можно было и по-русски рассказать, без кода. но это может быть сколь угодно плохо в случае, когда матчей много, а хороший регэксп короткий. выше был пример. можно взять даже строку вида "a"*n и шаблон "a" будет там повторён n раз
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
Для моих задач то что надо
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
позже может покурю в сторону LP
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
for какой-то? чо не "|".join(matches) просто?
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
смотри. может в неудачном случае взорваться
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
точно!
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
поправил, спасибо
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
получится ванлайнер вообще типа:
    def get_pattern(text, regobj):
       return re.compile("|".join(re.findall(text, regobj)))
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
действительно, красота
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
но проблема то в другом. если строка длинная и матчей много, то на выходе будет очень длинный регэксп, который будет очень долго работать.
ну и как минимум можно подумать о том, чтобы оптимизировать повторяющиеся префиксы/постфиксы в матчах
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
это не твоя забота, пусть re.compile оптимайзит там что угодно
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
так у нее оптимизация есть?!!!
источник

AS

Anton Stekanov (MSK+... in Emacs — русскоговорящее сообщество
ха!
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
а как получить что она там наоптимайзит?
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
завидуйте. Я пойду
источник

AF

Anton Feofilov in Emacs — русскоговорящее сообщество
он еще живой...
источник