тем, что встроенная реализация языка наверняка оптимизирована гораздо лучше, чем то, что напишу я. А в случае питона она наверняка будет ещё и не на байткоде, а на си, что ускорит её ещё больше.
как я сказал выше, если реализация регулярных выражений сама строит префиксное дерево, то это готовый инструмент
предположим, она этого не делает. В таком случае у автора был выбор: написать с нуля свою библиотеку, или же взять готовую библиотеку построения префиксных деревьев и сконвертировать её выдачу в регексп. Второй вариант мне кажется правильнее.
сейчас, когда автор уже написал свою библиотеку, можно или использовать её ограниченные возможности, или же потрудиться чуть больше, но получить полные возможности регекспов.
судя по коду на SO, вы каждый регексп прогоняли по отдельности по всему тексту. Конечно, это будет медленно. Я думаю, что если сделать сложный регексп типа приведённого мной в качестве примера, и прогнать его по тексту один раз, то это будет быстро. Заодно можно сохранить возможность находить спецсимволы и нечувствительность к регистру.
Я согласен с тобой, что у тебя возможности нет. Однако твой первый комментарий легко прочитать так «возможности ни у кого нет», а это неправда, и именно эту формулировку я оспариваю. Возможность есть, например, у пользователей Ubuntu 16.04 и 16.10.
Кстати, мне любопытно, что именно не работает? В форуме я нашёл только про проблему с запуском браузера.
Понимаю проблему, что на 5.7 не работает, но вот вывод «возможности нет» слишком её обобщает. На 5.5, которой я сейчас пользуюсь, возможность есть, и синхронизация работает.
Я остановился на Enpass: бесплатный для десктопов, хороший клиент для линукса, работает с офлайновыми файлами (а при желании синхронизирует их через облачное хранилище на выбор), мобильное приложение стоит мало.
предыдущий комментарий в некотором смысле отвечает на этот вопрос. Почти всегда нечто, разработанное государством (любым) обходится людям дороже, чем тот же продукт, разработанный частной фирмой на конкурентном рынке. Иными словами: может бесплатно раздавать, но на то, чтобы сделать, уйдёт ещё больше газиллионов.
как я сказал выше, если реализация регулярных выражений сама строит префиксное дерево, то это готовый инструмент
предположим, она этого не делает. В таком случае у автора был выбор: написать с нуля свою библиотеку, или же взять готовую библиотеку построения префиксных деревьев и сконвертировать её выдачу в регексп. Второй вариант мне кажется правильнее.
сейчас, когда автор уже написал свою библиотеку, можно или использовать её ограниченные возможности, или же потрудиться чуть больше, но получить полные возможности регекспов.
если же я ошибаюсь в предположении, что реализация сама строит префиксное дерево, то всё равно не сильно сложно
посмотрю, что автору в исходной записи накомментировали
/\b(Ruby|Python|Java|J2ee)/
/\b(?:Python|Ruby|(?:J(?:ava|2ee)))/
Кстати, мне любопытно, что именно не работает? В форуме я нашёл только про проблему с запуском браузера.