Локальные модификаторы в 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$