私は正規表現に初心者ですが、私はこの簡単な疑いがあります。私はdoc on php.net|
に応じて、ワードプレスワードプレスの正規表現の偽の区切り文字
$self = preg_replace('|^.*/wp-admin/|i', '', $self);
にこのコードを発見した
は、区切り文字として許されない..です
誰かがコードを説明できますか?
私は正規表現に初心者ですが、私はこの簡単な疑いがあります。私はdoc on php.net|
に応じて、ワードプレスワードプレスの正規表現の偽の区切り文字
$self = preg_replace('|^.*/wp-admin/|i', '', $self);
にこのコードを発見した
は、区切り文字として許されない..です
誰かがコードを説明できますか?
試しましたか?あなたのlinkから
は:
PCRE関数を使用して、パターンが区切り文字で囲まれていることが必要です。区切り文字には、英数字以外の非バックスラッシュ、空白以外の文字を使用できます。
したがって、|
は完全に有効な区切り文字です。そのページのコメントを読むときに、デリミタとしてメタ文字(たとえば|
など)を正規表現の内部で使用することは推奨しません。
$self = preg_replace('|^.*/wp-admin/|i', '', $self);
には例がないので問題はなく、期待どおりに動作しています。
正規表現に改行があると(たとえばpreg_match("|(F|f)oo|", "Foobar")
)、正規表現が最初の改行で終了すると解釈するため、「未知の修飾語 'f'」という警告が表示されます。
結論:それは許されますが、正規表現の区切り文字として|
、^
、+
、...のような正規表現のメタ文字を使用することをお勧めしません。