最短マッチ(最短一致)
//最長(デフォルト)
preg_match("/<div>(.*)</div>/", $subject, $matches);
//最短マッチ
preg_match("/<div>(.*?)</div>/", $subject, $matches);
?をつけると、最短マッチになります。</div>が最初に見つかったところで切り上げてくれるようになります。
複数行、パターン修飾子「s」
//. (ドット)を改行文字にもマッチさせる
preg_match("/<div>(.*)</div>/s", $subject, $matches);
sを付けると、. (ドット)を改行文字にもマッチするようになるので、複数行にわたってマッチさせることが可能です。s (PCRE_DOTALL)
この修飾子を設定すると、パターン中のドットメタ文字は 改行を含む全ての文字にマッチします。 これを設定しない場合は、改行にはマッチしません。 この修飾子は、Perl の /s 修飾子と同じです。 [^a] のような否定の文字クラスは、 この修飾子の設定によらず、常に改行文字にマッチします。
PHP: 正規表現パターンに使用可能な修飾子 - Manual
サンプル
パターン | 説明 |
<[^>]*> | 「<」から「>」までの範囲にマッチする。 |
/[ぁ-んァ-ヶー一-龠]+/u | 「ひらがな、カタカナ、漢字」が含まれる |
参考
・PHP: PCRE - Manual・PHP: 正規表現パターンに使用可能な修飾子 - Manual
スポンサーリンク
コメントを残す