Re: [Moscow.pm] Темы докладов на Moscow.pm

2016-10-28 Пенетрантность Александр Фролов via Moscow-pm
Вообще да, может работать очень долго. Но наш сервис очень активно развивается, появляются новые системы и меняются существующие, а старые магазины мы, конечно, тоже модифицируем. От кода первых магазинов уже практически ничего не осталось, и это хорошо! -Original Message- From:

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Sergey Aleynikov via Moscow-pm
Добрый день, Базовым выражением, которое пытается сматчится, здесь будет qr/(?:[^a-z]\s*?)+?r/. Оно не-матчится с экспоненциальной сложностью относительно длины строки для движка pcre. И причина - не в backreferenc'ах (их тут нет), а в backtracking'e. Поэтому, на "голом" движке, несовпадение

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Loginoff Nick via Moscow-pm
\s* != \s+ - так что это очень сильно меняет суть шаблона. В данном контексте пробела может и не быть... Так что это не решает проблему 28.10.2016, 21:44, "Динар Жамалиев via Moscow-pm" :Если везде заменить \s* на \s+, что не меняет сути шаблона, результат будет мгновенным, так

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Андрей Асякин via Moscow-pm
+?, *? работают одинаково, ? отключает жадность (отступать назад им бессмысленно), а вот ++, *+ - да, не откатываются назад при неудаче. On 10/28/2016 09:44 PM, Динар Жамалиев via Moscow-pm wrote: Если везде заменить \s* на \s+, что не меняет сути шаблона, результат будет мгновенным, так как

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Динар Жамалиев via Moscow-pm
Если везде заменить \s* на \s+, что не меняет сути шаблона, результат будет мгновенным, так как квантификатор +? не отступает назад, захват либо есть максимально возможный, либо нет. В то время как *? сначала захватывает все, затем отступает Каждый дополнительный * значительно увеличивает число

Re: [Moscow.pm] Темы докладов на Moscow.pm

2016-10-28 Пенетрантность KES via Moscow-pm
>Мы начинали делать магазины на Perl еще в 2001 году Вот за что люблю перл: один раз написал и работает годами. 28.10.2016, 14:14, "Александр Фролов via Moscow-pm" : > Всем привет! > > Будет ли интересна тема доклада не про сам Perl, а про кейс его применения на > нашем

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Artem Zhuravlev via Moscow-pm
Тут скорее дело в Захвате и построение обратных ссылок для них, на 16+ явно замедляется Вот переменная без захватом отработает быстро my $regexp16 = qr(' (?:3\s*?(?:[^a-z]\s*?)+?r) |(?:3\s*?(?:[^a-z]\s*?)+?r) |(?:3\s*?(?:[^a-z]\s*?)+?r) |(?:3\s*?(?:[^a-z]\s*?)+?r) |(?:3\s*?(?:[^a-z]\s*?)+?r)

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Андрей Асякин via Moscow-pm
Видимо, какое то ограничение на количество обратных ссылок, вот так работает быстро: my $regexp16 = qr(' (3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r |3\s*?(?:[^a-z]\s*?)+?r

Re: [Moscow.pm] Perl vs Python

2016-10-28 Пенетрантность Akzhan Abdulin via Moscow-pm
Да, видимо. Я просто нечасто забредаю в те дебри, а от этих акронимов и т.п. уже скучно становится. по паре новых лучших технологий в год. JavaScript... 28 октября 2016 г., 9:46 пользователь Толян II via Moscow-pm < moscow-pm@pm.org> написал: > Может таки eslint? > > Поскольку gulp-cslint ---

Re: [Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Akzhan Abdulin via Moscow-pm
для точности, речь идёт об одной регулярке, с менее чем 16 вариантами OR, или от 16 и более. Скорее всего зашито в движок PCRE. вы скорее всего натолкнулись на один из внутренних лимитов. решение простое - дробить на регулярки с максимум 15 вариантами OR. P.S.: почему так - не знаю, но уверен,

[Moscow.pm] Регулярные выражения. Помогите понять, почему так.

2016-10-28 Пенетрантность Loginoff Nick via Moscow-pm
 Столкнулся с проблемой. В проекте есть список похожих регулярок (спам фильтр на домены, если точнее). Все регулярки сливаются в одну и потом идет матчинг.Появилась проблема, что скрипт начал подвисать. По результату, накидал небольшой тест: Если регулярок 15 шт, то даже при увеличении строки до

Re: [Moscow.pm] Темы докладов на Moscow.pm

2016-10-28 Пенетрантность Nikolay Poletaev via Moscow-pm
Конечено будет интересно! пт, 28 окт. 2016 г. в 14:13, Александр Фролов via Moscow-pm < moscow-pm@pm.org>: > Всем привет! > > Будет ли интересна тема доклада не про сам Perl, а про кейс его применения > на нашем SAAS-сервисе интернет-магазинов? > Мы начинали делать магазины на Perl еще в 2001

Re: [Moscow.pm] Темы докладов на Moscow.pm

2016-10-28 Пенетрантность Александр Фролов via Moscow-pm
Всем привет! Будет ли интересна тема доклада не про сам Perl, а про кейс его применения на нашем SAAS-сервисе интернет-магазинов? Мы начинали делать магазины на Perl еще в 2001 году, и до сих пор все компоненты нашего сервиса написаны на этом языке. Предполагаемые тезисы: - Почему Perl, а не

Re: [Moscow.pm] Perl vs Python

2016-10-28 Пенетрантность Толян II via Moscow-pm
Может таки eslint? Поскольку gulp-cslint --- это плагин для проверки coffescript к gulp а cslint --- DeadLock detector for CSharp programs В любом случае спасибо за наводку, я думал в JS все плохо. Еще нашел JShint, тоже ловит нужные мне ошибки. И http://www.javascriptlint.com --- но похоже на