正規表現ワンポイント:最短の指定方法

2023-01-10

様々な文字を指定できる正規表現で、複数の該当がある場合に最短の文字パターンを指定する方法をご紹介します。

繰り返しの指定部分に以下の2文字を指定するだけです。

*?

正規表現の基本

”デリミタ”で正規表現のパターンを囲うことで範囲を明確にします。一般的にデリミタには / (スラッシュ)を用います。
※スラッシュ以外の記号を使用することもあります。
※正規表現はすべて”半角記号英数字”です。
※ページ最後に正規表現チェッカーがあるので、すぐにお試しいただけます。

例えば、000A111A222A333という文字があって、最初のAからAまでの文字を指定したい場合があります。(A111Aを取得したい)

下の正規表現を使用すると、最も広い範囲が指定されてしまいます。

/A.*A/
対象文字列該当数
000A111A222A3331

そこで今回紹介する最短の指定を行うと意図した最も短い範囲を指定できます。

/A.*?A/
対象文字列該当数
000A111A222A3331

いかがでしたか?
使用例を参考に下の正規表現チェッカーで試してみてください。

正規表現チェッカー

[myphp file=’regchecker’]

正規表現

Posted by 管理者