構文 |
|
m/パターン/オプション |
説明
- マッチ・パターンを使って文字列検索を行います。パターンは正規表現で指定します。
- マッチ・オプションを指定することで,文字列検索の際の動作を変更できます。例えば,大文字と小文字を区別しないようにできます。
- 検索対象 =~ m/パターン/オプションの形で使います。
使用例
#!/usr/bin/perl
use strict;
use warnings;
while (my $line = <>) {
# "href"が含まれているかどうかを調べる
if ($line =~ m/href/) {
print $line;
}
}
#!/usr/bin/perl
use strict;
use warnings;
while (my $line = <>) {
# "href"が含まれていないかどうかを調べる
if ($line !~ m/href/) {
print $line;
}
}
#!/usr/bin/perl
use strict;
use warnings;
while (my $line = <>) {
if ($line =~ m/^\d/) {
print $line;
}
}
#!/usr/bin/perl
use strict;
use warnings;
while (my $line = <>) {
# (^が行頭、\dが数字、{2,}が2回以上)
if ($line =~ m/^\d{2,}/) {
print $line;
}
}
#!/usr/bin/perl
use strict;
use warnings;
my $text = '2008年1月2日';
if ($text =~ m/(\d+)/) {
my $num = $1;
print $num, "\n";
}
#!/usr/bin/perl
use strict;
use warnings;
my $text = '2008年1月2日';
my @match_result = ($text =~ m/(\d+)/g);
foreach my $match_str (@match_result) {
print $match_str, "\n";
}
#!/usr/bin/perl
use strict;
use warnings;
my $text = '2008年1月2日';
while ($text =~ m/(\d+)/g) {
my $num = $1;
print $num, "\n";
}
#!/usr/bin/perl
use strict;
use warnings;
my @files = qw(
data.pdf
img1.png
img2.png
sample.PDF
index.html
DEFAULT.HTM
);
foreach my $file (@files) {
if ($file =~ m/pdf$/i) {
print $file, "\n";
}
}
#!/usr/bin/perl
use strict;
use warnings;
my $text = 'PerlはLarry Wall氏が開発ました。';
while ($text =~ m/([A-Za-z]{2,})/g) {
my $match = $1;
print $match, "\n";
}
#!/usr/bin/perl
use strict;
use warnings;
my @files = qw(
/home/user1/.bashrc
/etc/hosts
/usr/bin/perl
);
foreach my $file (@files) {
# /をエスケープする必要がある
if ($file =~ m/\/etc/) {
print $file, "\n";
}
}
#!/usr/bin/perl
use strict;
use warnings;
my @files = qw(
/home/user1/.bashrc
/etc/hosts
/usr/bin/perl
);
foreach my $file (@files) {
# /をエスケープする必要がない
if ($file =~ m|/etc|) {
print $file, "\n";
}
}
#!/usr/bin/perl
use strict;
use warnings;
my $text = '2008年1月2日';
# mを省略
while ($text =~ /(\d+)/g) {
my $num = $1;
print $num, "\n";
}