■正規表現
正規表現とはパターンを表現したもの。
| [0123456789] | 任意の数字1文字と一致 |
| [0-9] | 上記と同じ |
| [0-9\-] | 0-9もしはマイナス記号と一致 |
| [a-z0-9] | 小文字もしくは任意の数字1文字と一致 |
| [a-zA-Z0-9] | 任意の1文字、数字、もしくは下線1文字と一致 |
| [^0-9] | 数字以外の任意の1文字に一致 |
| [^aeiouAEIOU] | 母音以外の任意の1文字に一致 |
| [^\^] | 上向き矢印以外の任意の1文字 |
| \d | [0-9]と等価 |
| \w | [a-zA-Z0-9_]と等価 |
| \s | [ \r\t\n\f](空白文字)と等価 |
| \D | [^0-9]と等価 |
| \W | [^a-zA-Z0-9_]と等価 |
| \S | [^ \r\t\n\f](空白文字以外)と等価 |
#!/bin/perl
@a = ( "ab", "cd ef", "GH", "hi 1f", "43", "ds 43", "s", "ad fa" );
print "小文字aが含まれる\n";
for ($i=0; $a[$i]; $i++) {
if($a[$i] =~ /a/) {
print "\"$a[$i]\", ";
}
}
print "\n";
print "先頭に小文字aが含まれる\n";
for ($i=0; $a[$i]; $i++) {
if($a[$i] =~ /^a/) {
print "\"$a[$i]\", ";
}
}
print "\n";
print "数字が含まれる\n";
for ($i=0; $a[$i]; $i++) {
if($a[$i] =~ /\d/) { # [0-9]
print "\"$a[$i]\", ";
}
}
print "\n";
print "単語が含まれる\n";
for ($i=0; $a[$i]; $i++) {
if($a[$i] =~ /\w/) { # [a-zA-Z0-9_]
print "\"$a[$i]\", ";
}
}
print "\n"; |
実行結果
小文字aが含まれる "ab", "ad fa", 先頭に小文字aが含まれる "ab", "ad fa", 数字が含まれる "hi 1f", "43", "ds 43", 単語が含まれる "ab", "cd ef", "GH", "hi 1f", "43", "ds 43", "s", "ad fa", |