正規表現の前方否定(?!)を使用したパターンマッチングの方法


まず、前方否定の基本的な構文を理解しましょう。前方否定は「(?!pattern)」という形式で表現されます。例えば、正規表現「\d(?!abc)」は、数字にマッチするが、その後に「abc」という文字列が続かない場合にのみマッチします。

以下に、前方否定を使用したパターンマッチングの簡単な例を示します。

例1: 電子メールアドレスのバリデーション 正規表現: 「^(?!.\bexample.com\b).@\b[\w.-]+.\w{2,}\b$」 説明: この正規表現は、ドメインが「example.com」でない場合に、有効な電子メールアドレスにマッチします。

例2: パスワードの要件チェック 正規表現: 「^(?=.[a-z])(?=.[A-Z])(?=.\d)(?!.\s).{8,}$」 説明: この正規表現は、少なくとも1つの小文字、1つの大文字、1つの数字を含み、スペースを含まない8文字以上のパスワードにマッチします。

以上のように、前方否定を使うことで、特定の条件に合致しない文字列を簡単に除外することができます。この記事では、より多くの実際のコード例を提供し、前方否定を活用したパターンマッチングの応用方法についても紹介します。