Perl/Perlの基礎知識

Perl の正規表現で文字検索(4ページ目)

Perl の「正規表現」を使って、文字検索を行います。

井上 みやび子

執筆者:井上 みやび子

Perlガイド

文法確認のサンプルプログラム

#正規表現文法確認

use strict;
use warnings;
use utf8;
binmode STDOUT, 'encoding(utf8)'; #Windows の場合は utf8 -> cp932

print '19720807 vs [0-8]{8} :';
'19720807' =~ m/[0-8]{8}/ and print "match\n" or print "not match\n";

print '19720807 vs [0-9]{8} :';
'19720807' =~ m/[0-9]{8}/ and print "match\n" or print "not match\n";

print '19720807 vs \d{8} :';
'19720807' =~ m/\d{8}/ and print "match\n" or print "not match\n";

print '19720807 vs \w{8} :';
'19720807' =~ m/\w{8}/ and print "match\n" or print "not match\n";

print '19720807 vs [a-z]{8} :';
'19720807' =~ m/[a-z]{8}/ and print "match\n" or print "not match\n";

print '1972 vs [0-9]{8} :';
'1972' =~ m/[0-9]{8}/ and print "match\n" or print "not match\n";

print '1972 vs [0-9]{1,8} :';
'1972' =~ m/[0-9]{1,8}/ and print "match\n" or print "not match\n";

print '(blank) vs [0-9]{0,8} :';
'' =~ m/[0-9]{0,8}/ and print "match\n" or print "not match\n";

print '(blank) vs [0-9]{0,} :';
'' =~ m/[0-9]{0,}/ and print "match\n" or print "not match\n";

print '(blank) vs [0-9]* :';
'' =~ m/[0-9]*/ and print "match\n" or print "not match\n";

print '(blank) vs [0-9]+ :';
'' =~ m/[0-9]+/ and print "match\n" or print "not match\n";

print '(blank) vs [0-9]? :';
'' =~ m/[0-9]?/ and print "match\n" or print "not match\n";

print '1972 vs [0-9]? :';
'1972' =~ m/[0-9]?/ and print "match\n" or print "not match\n";
疑問を感じた点は、プログラムを変更しながら結果がどうなるか確かめて下さい。

なお、このプログラムのように、何か迷う事があれば簡単なプログラムを別に作って動作確認をすると結局は時間の節約になりますのでおすすめです。

次は>パターンが「マッチしない」事のチェック
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます