通常の php に 1 を使用している人を見ました
私はしばらく $1 を使用していました
2 つの違いは何ですか?一般的にはどれが使われているのでしょうか?
ルール文字列では 1 の形式のみにすることができます
なぜなら、$ は行末を表し、$1 は曖昧になりやすいためです
後で使用するため、違い
と perl 自体は次のように $1 を使用します。 一致するグループの
にアクセスするには、正規表現では 1 のみを使用できますが、置換文字列では両方を使用できます。
preg_replace には後方参照\n または (php 4.0.4 以降で利用可能)$n を含めることができますが、構文的には後者の方が優先されます。このような各参照は、n 番目に一致するキャプチャ サブグループによってキャプチャされたテキストに置き換えられます。 n は 0 ~ 99 で、\0 と $0 は完全なパターン マッチング テキストを表します。キャプチャ サブグループのシリアル番号のカウント方法は次のとおりです。キャプチャ サブグループを表す左括弧は、1 から開始して左から右に数えられます。置換にバックスラッシュを使用したい場合は、4 ("\\"、翻訳者の注釈: これは最初は PHP 文字列であるため、エスケープ後は 2 つになり、正規表現エンジンによってオリジナルと見なされます)バックスラッシュ)。
置換モードで作業しており、後方参照の後に別の数値を続ける必要がある場合 (例: 一致するパターンの直後に元の数値を追加する)、構文 \1 を使用して後方参照を記述することはできません。たとえば、\11 を指定すると、preg_replace() は、\1 後方参照の後にソース 1 が続くのか、それとも \11 後方参照の後に何も続かないのかを理解できなくなります。この場合の解決策は、${1}1 を使用することです。これにより、別の $1 後方参照、別の source1 が作成されます。
PHPマニュアルpreg_replaceから引用