使用 atom 将 array() 更改为 [] 的正则表达式

regex for changing array() to [] using atom

我想将我的 php 脚本更新为项目(全局)并更改数组(元素);到 [元素];

使用 atom 我已经 运行 更新了数组的初始化并且已经更改了 array();到 [];然而,这只是处理空数组初始化代码。

现在的挑战是将实际包含元素的数组从 () 更改为 []

例如数组可以有多种格式

array('content',number content,'content');

array(
      'content',
                array(
                      number content,'content'
                      )
      );

或级别数的任何变化。

我已经这样分解了,但我不知道如何做正则表达式。,

找出数组的每一个运行ce( - 替换为 [

找到该数组的关联收盘价 ); -替换为];

找到每个数组(在另一个数组( -替换为 [

找到另一个数组内的每个数组的关联收盘价);要不就 ), - 用。。。来代替 ];或 ],

我认为应该涵盖它....正则表达式是不可能做到的吗?

谢谢

看到您愿意事后进行一些手动修复,并且您对我评论中建议的解决方案感兴趣,我现在将其放入 "proper" 答复表中。这更容易编辑和讨论。如前所述,这只是一个 "workaround",因为我们并没有真正从句法上 理解 的意义上解析文本。但是,当您应用以下 Regexp

\barray\(([^()]*)\)

重复并替换为

[]

(是的,我省略了“[”前面的 "array"!)你可能有机会做你想做的事。

我在 Regexp 前面放了一个 \b 让它寻找单词边界。这样我们就排除了像 is_array()myarray() 这样的文本片段被更改。