SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

正規表現入門

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード 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$
検索対象と検索結果
検索対象と検索結果

次のページ
10. 括弧

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
正規表現入門連載記事一覧
この記事の著者

山岸 賢治(ヤマギシ ケンジ)

趣味が競技プログラミングなWebエンジニアで、OracleSQLパズルの運営者。AtCoderの最高レーティングは1204(水色)。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3246 2009/05/18 16:09

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング