構文の最大の変更点は、区切り文字の追加です。
ereg('^hello', $str);
preg_match('/^hello/', $str);
区切り文字には、英数字、バックスラッシュ、空白文字以外のほとんどの文字を使用できます。最も使用されるのは、一般的に~
、/
および#
です。
一致する大括弧を使用することもできます。
preg_match('[^hello]', $str);
preg_match('(^hello)', $str);
preg_match('{^hello}', $str);
// etc
区切り文字が正規表現で見つかった場合は、エスケープする必要があります。
ereg('^/hello', $str);
preg_match('/^\/hello/', $str);
preg_quoteを使用すると、文字列内のすべての区切り文字と予約文字を簡単にエスケープできます。
$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);
また、PCREはさまざまなものの修飾子をサポートします。最もよく使用されるものの1つは、大文字と小文字を区別しない修飾子i
で、eregiの代わりになります。
eregi('^hello', 'HELLO');
preg_match('/^hello/i', 'HELLO');
あなたはへの完全なリファレンス見つけることができますマニュアルのPHPでPCREの構文だけでなく、違いのリスト表現を変換する助けにPOSIX正規表現とPCREの間を。
ただし、簡単な例では正規表現を使用しません。
stripos($str, 'hello world') === 0