PCRE 正規表現構文
PHP Manual

デリミタ

PCRE 関数を使うときには、パターンを delimiters で囲まなければなりません。 英数字、バックスラッシュ、空白文字以外の任意の文字をデリミタとして使うことができます。

デリミタとしてよく使われる文字は、スラッシュ (/)、 ハッシュ記号 (#) およびチルダ (~) です。 次に示す例は、どれも正しいデリミタです。

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

パターンの中でデリミタ文字をマッチさせたい場合は、バックスラッシュでエスケープしなければなりません。 パターン内でデリミタが頻繁にあらわれる場合は、 デリミタを別の文字に変更したほうが読みやすくなります。

/http:\/\//
#http://#
preg_quote() 関数を使うと、パターンに使う文字列をエスケープすることができます。 オプションの二番目のパラメータで、エスケープするデリミタを指定します。

前述のデリミタのほかに、角括弧形式のデリミタを使うこともできます。 これは、開き角括弧と閉じ角括弧がそれぞれ開始デリミタ、終了デリミタを表す形式です。

{this is a pattern}

終了デリミタの後に パターン修飾子 を付加することもできます。次の例は、大文字小文字を区別しないマッチを行うものです。

#[a-z]#i


PCRE 正規表現構文
PHP Manual