正規表現のAND(かつ)条件はOR(または)条件より複雑

regexp-and
  • URLをコピーしました!

正規表現については、PHPJavaScript等でよく使うので過去の記事でも度々取り上げていますが、文章中に「〇〇と××が両方共に含まれる」と言った複数条件を表現をする、ANDかつ)条件を意識したことがありませんでした。
そこで今回は、OR条件とAND条件の書き方の違いと、書いた正規表現のテスト方法をご紹介します。

目次

AND(かつ)条件の書き方

早速、本題のANDかつ)条件の書き方から説明します。
AND条件では、検索したい文字列の前後に様々な記号がくっ付いてきます。
以下は「りんご」かつ「みかん」かつ「ばなな」の複数の文字列にマッチする条件を検索します。

書き方としては、「^」で始まり「.$」で終わる。
その間に「
(?=.文字列)」を条件に一致させたい文字列分を複数つなげて書く感じですね。
私はこの記号が何を意味するかは参考サイトをご覧くださいw

上記のように書くと、次のような文章があった場合に正規表現パターンマッチします。

ばななまんのものまねをするりんごちゃんとみかんはおもしろい

変な文章・・・。

OR(または)条件の書き方

ANDかつ)条件と比較するために、おまけとしてOR条件の書き方をサクッと紹介しておきます。
OR条件は以下のように複数の検索文字列を「|パイプ)」で繋ぐだけ!

こちらは「りんご」または「みかん」または「ばなな」のいずれかの文字列を1つ以上含む場合にマッチします。
とても分かりやすくて簡単ですね!
例えば、以下のような文章があった場合に、この正規表現パターンマッチします。

しりとりんごりらっぱんだちょうしまうまっこうくじらいおん

詳しくはこちらを参考に。

正規表現の確認方法

最後に、正規表現が正しく設定されているを確認するためのツールを紹介して終わります。
regex101.com」というサイトがあります。

英語サイトなのでちょっと分かり難いかもしれませんが、確認する方法は簡単です。

  1. [REGULAR EXPRESSION]の項目に正規表現のパターンを入力
  2. [TEST STRING]にマッチさせたい文字列を入力
  3. 右側の[MATCH INFORMATION]に結果が表示される
  4. マッチした文字列は「TEST STRING」にも網掛けで表示される

ぜひ、お試しあれ!

著:Jeffrey E.F. Friedl, 翻訳:株式会社ロングテール, 翻訳:長尾 高弘
¥5,280 (2023/02/07 06:55時点 | Amazon調べ)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

東京生まれ福岡育ちの文系プログラマー。
テクノロジーの恩恵を感じながら日々精進しています。
広く浅くをモットーに、最近ではプログラミングだけでなく、仮想サーバーからセキュリティ、監視システムなども勉強中です。

コメント

コメントする

CAPTCHA


目次