正規表現ワンポイント:最短の指定方法
様々な文字を指定できる正規表現で、複数の該当がある場合に最短の文字パターンを指定する方法をご紹介します。
繰り返しの指定部分に以下の2文字を指定するだけです。
*?
正規表現の基本
”デリミタ”で正規表現のパターンを囲うことで範囲を明確にします。一般的にデリミタには / (スラッシュ)を用います。 ※スラッシュ以外の記号を使用することもあります。 ※正規表現はすべて”半角記号英数字”です。 ※ページ最後に正規表現チェッカーがあるので、すぐにお試しいただけます。
例えば、000A111A222A333という文字があって、最初のAからAまでの文字を指定したい場合があります。(A111Aを取得したい)
下の正規表現を使用すると、最も広い範囲が指定されてしまいます。
/A.*A/
対象文字列 | 該当数 |
000A111A222A333 | 1 |
そこで今回紹介する最短の指定を行うと意図した最も短い範囲を指定できます。
/A.*?A/
対象文字列 | 該当数 |
000A111A222A333 | 1 |
いかがでしたか?
使用例を参考に下の正規表現チェッカーで試してみてください。
正規表現チェッカー
[myphp file=’regchecker’]
ディスカッション
コメント一覧
まだ、コメントがありません