例如,我有以下字符串:
{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)
所以相信我是其中的一部分...
我认为如果您尝试以下正则表达式,它应该可以满足您的需求:
preg_match_all('/([a-zA-Z0-9_]+)/', '{WIDGET_TEST(''variable1'', ''b'')}', $classname);
它应该从输入字符串返回从"abcdEDFGHJ123"构造的字符串。说白了,当字符串从这个 makup 中断时,它将返回一个新结果。