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

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

(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 )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。