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

В жизни каждого программиста наступает момент, когда ему надо выцепить кусок текста, независимо от регистра — но в контексте зависимого от регистра текста.

На помощь приходят локальные модификаторы — например, — в пределах кластера это будет так:

— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?i:a) b/;'
ok
— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?i:a) B/;'
— bash-3.2$

ну или так

— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?-i:A) b/i;'
ok
— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?-i:A) B/i;'
ok
— bash-3.2$ perl -le 'my $x = «Abc»; print «ok» if $x =~ /(?-i:a) B/i;'
— bash-3.2$

Комментировать

Войдите чтобы оставить комментарий.