[選択]複数のパターンのどれかにマッチする:縦棒(|)

正規表現で使用するメタ文字の一つである縦棒(|)の使い方について解説します。縦棒(|)で区切って記述された複数のパターンのいずれかの文字列の一つにマッチします。

(Last modified: )

複数のパターンのいずれか一つにマッチする:縦棒(|)

縦棒( | )は、縦棒( | )で区切って記述された複数のパターンのいずれかの文字列の一つにマッチさせる場合に使用するメタ文字です。

Pattern1|Patter2|Patter3| ...

例えば次のような正規表現のパターンで考えてみます。

Red|Green|Yellow

"Red" または "Green" または "Yello" のいずれかとマッチする文字列、というパターンとなります。このパターンとマッチする文字列は例えば次のようなものになります。

〇 Red
〇 Green
〇 Yellow
✕ White
✕ Black

パターンの中の一部を縦棒( | )を使って選択できるようにすることもできます。次の正規表現のパターンをみてください。

(2020|令和2)年

"2020" または "令和2" のどちらかの文字列、 "年" 、 と続くパターンとなります。他の文字やメタ文字と組み合わせる場合は、パターンの中のどこからどこまでが選択する部分なのかが分かるように丸括弧 () で囲います(グループ化といいます)。このパターンとマッチする文字列は例えば次のようなものになります。

〇 2020年
〇 令和2年

サンプル

JavaScript を使って簡単な正規表現のサンプルを作成してみます。

const regex = /(2020|令和2)年/;

regex.test('2020年11月');
--> true
regex.test('今年は令和2年');
--> true
regex.test('2019年10月');
--> false
regex.test('平成2年');
--> false

複数のパターンのいずれか一つにマッチする:縦棒(|)(1)

-- --

正規表現で使用するメタ文字の一つである縦棒(|)の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。