正規表現で「または検索」を行う方法

正規表現

目次

普通のテキスト検索ではor(または)検索を行うことはできません。

以下のような場合、正規表現によるor検索を行う必要があります。

  • 検索したいワードがあいまい(山崎と山﨑など)
  • ログファイルの先頭が「2019-10-31」または「2019-10-30」で始まる行を抽出したい

実際にやってみた

以下の文字列を検索窓に入力します。

山崎|山﨑
^(2019-10-30|2019-10-31).*$

解説

縦棒「|」(バーティカルバー)は正規表現において「or」を意味します。

「検索条件1|検索条件2」と記述することで、どちらかの文字に当てはまる文字列がマッチします。

今回は2つの単語のみでしたが、「検索条件1|検索条件2|検索条件3」のように3つ以上の検索条件を並べて検索することもできます。

2つ目の例で使用している「()」はカッコ内の単語を1つの文字列として扱うための「キャプチャ」という正規表現です。

1つの単語のため、「^(検索条件1|検索条件2)」は「検索条件1または検索条件2で始まる」という意味になります。

まとめ

今回はorを表す「|」についてお伝えしました。

or検索は、正規表現検索を用いないと実現できないため、この機能を使用するだけのために正規表現を使用するメリットはあります。

正規表現についての別記事についてもご覧ください!

★検索
パスワードの正規表現の考え方
「~を含まない行」を検索する方法
「~を含む行」を検索する方法
「~で終わる」を検索する方法
「~で始まる」を検索する方法
正規表現繰り返しの考え方

最短一致検索を行う方法
否定の文字クラス
「または」検索を行う方法

環境による「\d」の動作の違いについて検証

★置換
正規表現置換の考え方
大文字⇔小文字変換を行う方法
キャメルケース⇔スネークケース変換を行う方法
CSVを囲みなし⇒囲みありに変換する方法

CSVファイルの特定のカンマ以降を削除する方法
CSVファイルの必要な箇所だけ残す方法
数字3ケタおきにカンマを挿入する方法
正規表現置換で不要な行を削除し、必要な行だけ残す方法
数字を0埋めする方法
0埋めされた数字を0埋めなしに変換する方法
ファイル名から、拡張子のみを抽出する方法
Javaで正規表現置換を行う方法

また、Udemyという動画教育プラットフォームで動画解説を行っております。
動きを確認しながら丁寧に学習したいという方は、ぜひご覧ください!

正規表現入門 作業効率アップに役立つ38個の方法

コメント

タイトルとURLをコピーしました