Я ищу способ улучшить это регулярное выражение:
^(?:([^.]+).?){6}_tid
Это извлекает 6-е поле из point.separated.string.of.arbitrary.lengths до "_tid"
Итак, если это выглядит так:
mc11_7tev.138345.dgnol_tb6_m12u_140_140_110_2l_jimmy_susy.evgen.log.e825_tid431423_0
должно вернуть
e825
Как ни странно, если я удаляю часть _tid регулярного выражения ^(?:([^.]+).?){6}
, я получаю требуемую производительность ... 1-2 секунды для проверки миллиона строк.
С _tid .. это занимает до 5 минут.
Есть ли лучший способ сделать это?
EDIT:
Ах, я забыл упомянуть, это в Apache Pig, поэтому все должно быть в предложении регулярных выражений.