Архив ‘regex’

Локальные модификаторы в RegEx — используй кластер, Люк

В жизни каждого программиста наступает момент, когда ему надо выцепить кусок текста, независимо от регистра — но в контексте зависимого от регистра текста. На помощь приходят локальные модификаторы — например, — в пределах кластера это будет так: — bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?i:a) b/;' ok — bash-3.2$ perl -le 'my […]

Perl, RegEx и LookAhead — форматируем MAC-адрес

Задача — из 001e8c15ffbc сделать 00:1e:8c:15:ff:bc Решение — perl -le 'my $x = «001e8c15ffbc»;$x =~ s/(...(?!\Z))/\1:/g; print $x' Разберем по кусочкам этот примитив. (...(?!\Z))/\1: ... — два любых символа (можно написать длиннее, если сомневаемся, что к нам придёт именно мак) — например, [a-f\d]{2} (?!\Z) — заглянем вперёд — нет ли там конца строки. Если есть — не попадаем в условие и, соответственно, […]