1次元オブジェクトのプロパティにアクセスする構文を配列要素にアクセスする構文に置き換える必要があります
例:
$variable -> child
$variable->child
どちらも次のように変換する必要があります。
$variable['child']
答え1
検索対象:
\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*) *-> *([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)
と置換する
$\1['\2']
もちろん、検索モードは「正規表現」にします。ここでは、PHP変数は[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
。
答え2
探す:(\$\w+) *-> *(\w+)
交換する:$1['$2']
(\$\w+)
リテラルドル記号と1つ以上の[a-zA-Z0-9_]文字をキャプチャします*-> *
0 個以上のスペース、ハイフン、大なり、0 個以上のスペースの順に一致します。(\w+)
1つ以上の[a-zA-Z0-9_]文字をキャプチャする
次に、およびを使用して$1
、$2
配列構文で目的の動的置換を生成します。
他の回答でコメントされているように、リテラルドル記号 ( ) は 1 つだけであるはずなので、1 つ以上のリテラルドル記号 ( ) を探すのは意味がありません。 \$+
"可変変数" ( ) を使用していないことを願います$$variable
が、このコンテキストでは使用しても問題はありません。