Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 匹配数组索引访问器_Regex - Fatal编程技术网

Regex 匹配数组索引访问器

Regex 匹配数组索引访问器,regex,Regex,我正在尝试创建一个表达式来查找数组表示的索引访问器 例如,“myarray[1][22][333]”对于该字符串,预期结果应为四组:“myarray”、1、22和333 我无法使表达式适用于多个维度,表达式必须从一维(“数组[1]”)匹配到N维(“数组[1][2][3]…”)这似乎有效 编辑缺少的一个字符: ([^][]+) 看起来你想要这样的东西 (^\w+|(?<!^)\G)\[*\K([^\[\]\n]*) (^\w+|)(? 一组中的myarray和另一组中的[]中的数字如何?

我正在尝试创建一个表达式来查找数组表示的索引访问器

例如,“myarray[1][22][333]”对于该字符串,预期结果应为四组:“myarray”、1、22和333

我无法使表达式适用于多个维度,表达式必须从一维(“数组[1]”)匹配到N维(“数组[1][2][3]…”)

这似乎有效
编辑缺少的一个字符:

([^][]+)

看起来你想要这样的东西

(^\w+|(?<!^)\G)\[*\K([^\[\]\n]*)
(^\w+|)(?

一组中的
myarray
和另一组中的
[]
中的数字如何?我对表达式有点笨…这是我的尝试:([a-zA-Z0-9]+)(:?[(\d+)+)+必须是一种简单的表达式吗?如果允许的话
myarr[arr1[0][arr2[2][3]
,恐怕正则表达式不是适合您的工具,我可以解释原因。如果您将其限制为简单形式,则有解决方案。出于安全原因,我需要使用正则表达式,我无法使用某些脚本语言来计算条件,因此我正在构建解析器来计算简单表达式。
[^[\]]
也可以删除
]
的内容。您的表达式有效,有一些空匹配项,但我可以在代码中处理它们…谢谢您Avinash,这是您第二次帮助我;-)