正規表現でよく使う便利なメタ文字やマッチパターン

更新日
2017.06.30
作成日
2012.07.16

正規表現でよく使う便利~!って思うマッチパターンです。

前後の文字列を肯定&否定

先読み・後読みでマッチング。

?<= ?=

前後に ab か cd がついている数字4文字とマッチ

(?<=ab|cd)\d{4}(?=ab|cd)

?<! ?! 

前後に abcd がついてない数字4文字とマッチ

(?<!ab|cd)\d{4}(?!ab|cd)

先読み・後読みについてはこちらの記事がとても分かりやすかったです。

パターン内の後方参照

 \1

cmp-で始まるタグを検索。preg_replace で変換時使用するのは $0 でゼロから始まる。

<cmp-(\w*?)>(.*?)<\/cmp-\\1>

<cmp-test>テキスト</cmp-test> などにマッチ

PHPの後方参照についてマニュアルで詳しく説明されています。

単語&単語以外を検索

 \b

文字の区切りというメタです。独立した文字を検索。

\bpiyo\b

独立した piyo のみにマッチ。piyon の中の piyo にはマッチしない。

\b\d{4}\b

独立した数字4桁にマッチ。5文字の中にある4桁にはマッチしない。

 \B

\Bpiyo\B

なにかの単語に含まれている piyo のみにマッチ。