Size: a a a

2021 February 03

AP

Anton Petrusevich in Modern::Perl
так что лучше разбивать на регекспы поменьше и может быть тогда можно понять
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
вот мой регэксп который мне нужен
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
куда уж меньше
источник

b

basiliscos in Modern::Perl
Vyacheslav Olkhovchenkov
не, вот нахуя оно мне и чем оно лучше того регэкспа который под мою задачу а не абстрактное "разобрать по не нужным мне правилам"?
твоё дело. Я скопипастал со StackOverflow регексп (для C++), тоже чтобы парсить урлы. Кривой урл в 200 символов парсило секунд 15. Дальше сам решай.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
для чего парсил ты и для чего паршу я? наверное есть разница?
источник

ع

عاصم بن حارث... in Modern::Perl
Vyacheslav Olkhovchenkov
не, вот нахуя оно мне и чем оно лучше того регэкспа который под мою задачу а не абстрактное "разобрать по не нужным мне правилам"?
потому, что URI как бэ (из perldoc)
This module implements the "URI" class. Objects of this class represent "Uniform Resource Identifier references" as specified in RFC 2396 (and updated by RFC 2732).
мало ли что те потом в башку стукнет (или в лог прилетит), че переписывать твои регэкспы? А так, у тя есть по рфц - все как-то получше, не?
источник

b

basiliscos in Modern::Perl
Я хз зачем тебе. Мне просто урл надо было отпарсить из строки.  После этого в я притащил в свой pet-project либу (C'шную) для парса урлов и стало всё ок.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
если в лог прилетит не то -- нахуй его из лога
источник

AP

Anton Petrusevich in Modern::Perl
вопрос во времени парсинга
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
у меня нет задачи *валидировать* URI
источник

ع

عاصم بن حارث... in Modern::Perl
Vyacheslav Olkhovchenkov
если в лог прилетит не то -- нахуй его из лога
ага, ну если в таком ключе, то да - имеет смысл "поужаться" на свои регэкспы.
источник

AP

Anton Petrusevich in Modern::Perl
парсинг регекспа зависит не только от шаблона, но и от входящих данных
источник

ВВ

Виолетта Вета... in Modern::Perl
Ребята, а подскажите, пожалуйста, изящный вариант. Есть строка скажем "O:WDG:WDD:ARP(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-3920979726-894440269-1692008409-50943)(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-3920979726-894440269-1692008409-50788)". Нужно сложить в массив все куски этой строки от 'S-1-5-' до скобки ')'.  перед S-1-5- и после ) могут быть разные любые символы.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
мне нужно из uri взять конкретные части. а не сделать ему полный разбор/валидацию.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
если этих частей нет -- меня эта строка не мнтересует вообще
источник

DF

Denis F in Modern::Perl
Виолетта Вета
Ребята, а подскажите, пожалуйста, изящный вариант. Есть строка скажем "O:WDG:WDD:ARP(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-3920979726-894440269-1692008409-50943)(A;CIOI;CCLCSWLORCGR;;;S-1-5-21-3920979726-894440269-1692008409-50788)". Нужно сложить в массив все куски этой строки от 'S-1-5-' до скобки ')'.  перед S-1-5- и после ) могут быть разные любые символы.
насколько кусковые куски должны быть?
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
не предмет обработки
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
у меня nginx access log, тот uri что там есть мне надо преобразовать в id. при этом query string там нет (просто не пишется), по сути это кусок пути из которого мне надо отдельные части взять. зачем тут какие-то модули?
источник

b

basiliscos in Modern::Perl
В общем один из самых быстрых парсингов - это описать грамматику BNF (или типа того), сгенерить по ней машину (ragel'ем) на C, скомпилить и спокойно хавать контент. Я хз что там у тебя тормозит. Если парс урла не тормозит (если его выкинуть), то, возможно и нет смысла применять модуль. Если тормозит, то имеет.
источник

AP

Anton Petrusevich in Modern::Perl
Vyacheslav Olkhovchenkov
у меня nginx access log, тот uri что там есть мне надо преобразовать в id. при этом query string там нет (просто не пишется), по сути это кусок пути из которого мне надо отдельные части взять. зачем тут какие-то модули?
короче, профилируй как умеешь
источник