CodeZine(コードジン)

特集ページ一覧

正規表現の入門(1)
基礎的なメタ文字

正規表現の基礎的なメタ文字の使い方

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/12/11 14:00

ダウンロード SourceCode (6.6 KB)

目次

7. 選択

 指定した複数パターンのいずれか1つにマッチします。メタ文字は|です。各パターンは|によって区切られます。論理和とも呼ばれます。

 下記は、文字列ABCもしくは文字列XYZのいずれかを検索する正規表現です。

検索で使う正規表現
ABC|XYZ
検索対象と検索結果
検索対象と検索結果

 もう1つサンプルです。文字列ABもしくは文字列CDもしくは文字列EFのいずれかを検索する正規表現です。

検索で使う正規表現
AB|CD|EF
検索対象と検索結果
検索対象と検索結果

 ちなみに、1文字同士の選択は、文字クラスに変形できます。

1文字同士の選択を含む正規表現
A|C|E|G|XXX
文字クラスに変形した正規表現
[ACEG]|XXX

8. 量指定子

 直前のパターンにマッチする回数を指定します。メタ文字は*+?です。それぞれ、下記の回数のマッチをします。

  • * 直前のパターンに0回以上マッチ
  • + 直前のパターンに1回以上マッチ
  • ? 直前のパターンに0回か1回マッチ

 *の使い方のサンプルです。A*はAに0回以上マッチします。

検索で使う正規表現
^A*BCD$
検索対象と検索結果
検索対象と検索結果

 +の使い方のサンプルです。A+はAに1回以上マッチします。

検索で使う正規表現
^A+BCD$
検索対象と検索結果
検索対象と検索結果

 ?の使い方のサンプルです。A?はAに0回か1回マッチします。

検索で使う正規表現
^A?BCD$
検索対象と検索結果
検索対象と検索結果

9. 量指定子(範囲指定繰り返し制御)

 直前のパターンにマッチする回数を指定します。メタ文字は{}です。先ほどの量指定子の*+?と似ています。それぞれ、下記の回数のマッチを行います。

  • {n} 直前のパターンにn回マッチ(nは0以上の整数)
  • {n,} 直前のパターンにn回以上マッチ(nは0以上の整数)
  • {n,m} 直前のパターンにn回以上m回以下のマッチ(nは0以上の整数、mはn以上の整数)

となります。

  • * 直前のパターンに0回以上マッチ
  • + 直前のパターンに1回以上マッチ
  • ? 直前のパターンに0回か1回マッチ

ですので、A*A{0,}と同じ意味、A+A{1,}と同じ意味、A?A{0,1}と同じ意味となります。

 {n}の使い方のサンプルです。A{2}はAに2回マッチします。

検索で使う正規表現
^A{2}BCD$
検索対象と検索結果
検索対象と検索結果

 {n,}の使い方のサンプルです。A{2,}はAに2回以上マッチします。

検索で使う正規表現
^A{2,}BCD$
検索対象と検索結果
検索対象と検索結果

 {n,m}の使い方のサンプルです。A{2,4}はAに2回以上4回以下のマッチをします。

検索で使う正規表現
^A{2,4}BCD$
検索対象と検索結果
検索対象と検索結果

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:正規表現入門

著者プロフィール

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5