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

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

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