正規表現での先読み・後読みの使い方

2024/08/07
x-logoline-logo

正規表現での先読み・後読みの使い方

2024/08/07
x-logoline-logo
PR

正規表現での先読み・後読みの使い方

正規表現(せいきひょうげん)は、特定のパターンに一致する文字列を検索するための強力なツールです。今回は、その中でも「先読み」と「後読み」というテクニックを簡単に紹介します。これらを使うと、より複雑な条件で文字列を見つけることができるようになります。

先読みとは?

先読みは、あるパターンがその後に続く文字列に存在するかどうかを確認する仕組みです。これにより、ある文字列が特定の条件を満たしているかを調べることができます。

先読みの書き方

先読みを使うには、パターンの後ろに「(?=...)」という形式を用います。ここで「...」は、先読みしたい条件を記述します。

正規表現: /abc(?=def)/

この正規表現は、「abc」があり、その後に「def」が続く文字列にマッチしますが、「def」は実際には結果に含まれません。

後読みとは?

後読みは、先読みの逆で、あるパターンの前に特定の条件があるかどうかを調べるものです。これを使うことで、前にある文字列が特定の条件を満たしているか見つけることができます。

後読みの書き方

後読みは、パターンの前に「(?<=...)」という形式を用います。この「...」の部分で確認したい条件を記述します。

正規表現: /(?<=abc)def/

この正規表現は、「abc」の後に続く「def」にマッチしますが、「abc」は結果に含まれません。

先読みと後読みの使い方の例

それでは、実際の例を見てみましょう。例えば、メールアドレスを検証する際に、特定のドメインを持つかどうか確認する場合があります。

先読みを使った例

正規表現: /[a-zA-Z0-9._%+-]+@example\.com(?=\.jp)/

この正規表現では、「@example.com」の後に「.jp」が続くメールアドレスにマッチします。

後読みを使った例

正規表現: /(?<=\d{3}-)\d{4}/

こちらの正規表現では、3桁の数字の後に続く4桁の数字にマッチします。「123-4567」の場合、「4567」が結果に含まれます。

この記事はAIを使用して作成されています。
PR