Noch eine RegEx Frage. Ich habe viele PHP-Dateien von Array zu ändern ('foo', 'bar') zu neuen Stil [ 'foo', 'bar']Regex ändern "Array()" zu "[]" in Sublime 3
Bisher kam ich mit auf den Punkt:
array\(([^\(]*?)\)
Aber es nimmt keine mehrzeiligen Definitionen auf. Ich habe so etwas wie dies versucht, aber es ist noch schlimmer, da es falsch schließenden Klammern aufgreift:
(?s)array\(([^\(].*?)\)
Zum Beispiel, einige Daten, die ersetzt bekommen muss:
$foobar = $this->foobar('foo_bar', array(
'foo' => array('foobar' => array('barfoo')),
'bar' => array(
'bar' => 'foobar',
'foo' => 'barfoo',
)));
So das obige Beispiel würde so aussehen:
$foobar = $this->foobar('foo_bar', [
'foo' => ['foobar' => ['barfoo']],
'bar' => [
'bar' => 'foobar',
'foo' => 'barfoo',
]]);
Jeder? Vielen Dank!
Warum würden Sie das tun? –
Meinst du das? ['(?: array \() (. *)? \)'] (https://regex101.com/r/tP3aN5/1) – Shafizadeh
Matei Mihai, frag mich bitte nicht =) es ist nicht mein Ruf, Wir aktualisieren ein altes Projekt in ein neues Framework. Daher ändern wir die Array-Definitionen zusammen mit . – lime