検索

ホームページ  >  に質問  >  本文

() 内の一致が配列に入れられます。問題は、$1 と \\1 の違いは何でしょうか?

ubb テキスト編集、preg_replace($pattern,$replace,$stirng);

争渡争渡2581日前1745

全員に返信(2)返信します

  •  

     2018-01-29 15:54:48

    マニュアルで \1 と $1 は同じだと読みました。

    マニュアルの原文: replacement には後方参照 \n または $n を含めることができますが、文法的には後者の方が優先されます そのような各参照は、一致する n 番目のキャプチャ サブグループによってキャプチャされたテキストに置き換えられます。 n は 0 ~ 99 で、\0 と $0 は完全なパターン マッチング テキストを表します。 キャプチャ サブグループのシリアル番号のカウント方法は次のとおりです。キャプチャ サブグループを表す左括弧は、1 から開始して左から右に数えられます。置換にバックスラッシュを使用したい場合は、4 ("\\"、翻訳者の注釈: これは最初は PHP 文字列であるため、エスケープ後は 2 つになり、正規表現エンジンによってオリジナルと見なされます)バックスラッシュ)。

    返事
    0
  •  

    違いについて言えば、次のようになります。 preg_replace() \11 と \1 1 のどちらを表現したいのかわかりません (2 番目の 1 は文字列 1 です)。したがって、${1}1 を使用すると、最初の 1 が後方参照であり、2 番目の 1 が後方参照の直後にある元のテキストの 1 であることを preg_replace() に知らせることができます。

      · 2018-01-29 16:00:36
  • キャンセル返事