0

例如,我有以下字符串:

{WIDGET_TEST('abc','456')}

我希望能够使用 preg_match_all 返回逗号分隔参数的数组。

有人可以帮我解决我需要的正则表达式吗?

我已经尝试过,以下查询返回(a,b)

preg_match_all('/\([a-zA-Z0-9\',]+\)/', '{WIDGET_TEST(a,b)}', $arguments);

但是我一直在努力将这个结果作为一个数组得到,当我引入撇号时,正则表达式会中断吗?

编辑使用以下内容:

preg_match_all('/(\'[a-zA-Z0-9,]+\')/', '{WIDGET_TEST('variable1','b')}', $arguments);

我得到:

array
  0 => 
    array
      0 => string ''variable1'' (length=11)
      1 => string ''b'' (length=3)
  1 => 
    array
      0 => string ''variable1'' (length=11)
      1 => string ''b'' (length=3)

所以相信我是其中的一部分......

4

1 回答 1

1

我认为如果您尝试以下正则表达式,它应该可以满足您的需要:

preg_match_all('/([a-zA-Z0-9_]+)/', '{WIDGET_TEST(\'variable1\', \'b\')}', $classname);

它应该从输入字符串返回由“abcdEDFGHJ123”构造的字符串。说白了就是当字符串从这个makup中断开时,它会返回一个新的结果。

于 2012-04-17T16:53:35.803 回答