|
この部分の詳細については、PHP マニュアルを参照してください。簡単に説明します:
一重引用符内では、一重引用符 (') とバックスラッシュ (\) をエスケープし、他の文字の本来の意味を出力します。
##二重引用符では、二重引用符 (\") を除く特殊文字がエスケープされ、変数が解析されます。 したがって、これら 2 つの一般的な文字列定義では、バックスラッシュは常にバー (\) である必要があります。 PHP 正規表現PHP では 2 セットの正規表現関数ライブラリが提供されています: [参考]1 セットは PCRE (Perl 互換正規表現) ライブラリによって提供されます。プレフィックス "preg_" の付いた名前の関数を使用します。 POSIX (Unix のポータブル オペレーティング システム インターフェイス) 拡張機能によって提供される関数のセット (PHP のデフォルト)。 "ereg_" プレフィックスの名前が付いた関数を使用します。
正規表現は、一致、置換、分割の機能を提供します。現在、perl スタイルの正規関数のみが使用されます。以下は、このタイプの文字列の説明のみです。
Perl スタイルの正規表現は、次のように区切り文字 ("/" または "#") に含める必要があります。 [参考] $str = 'http://www.youku.com/show_page/id_ABCDEFG.html';
$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i';
$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i';
URL を分割するには、$regex 変数で以下を定義します。正規表現文字列: ^http://([\w.] )/([\w] )/([\w ] ).html$この文字列には次のものが含まれます「/」や「.」などの特殊文字は、次のように Perl スタイルでバックスラッシュ (「\」) を使用してエスケープして定義する必要があります。 :^http:\/\/([\ w.] )\/([\w] )\/([\w] )\.html$同時にこの文字列を区切り文字に含める必要があるため、上記 2 種類の式の場合、区切り文字として「#」を使用する場合、「/」をエスケープする必要はありません。次の単一文字に一致する場合は、バックスラッシュ ("\") を使用してエスケープする必要があります: "\", "? ","*","^","$"," ","( ",")","|","{","["Perl スタイルの正規表現では、次の 1 文字、または上記で一致しない 1 文字に一致する場合、次のことも必要です。バックスラッシュ ("\") でエスケープする: ##^=}]/:a8093152e673feb7aba1828c43532094.'"
概要
正しい Perl スタイルを記述するには正規表現文字列。次の 3 つの手順が必要です。
正しい正規表現を作成し、特殊文字の変換に注意してください。 定義
それを区切り文字に入れて、Perl スタイルのエスケープ規則を使用してエスケープします。
PHP の文字列定義に従って上記の文字列の内容をエスケープします