我正在尝试解析 c 函数声明。我想从字符串中获取令牌数组。所以我使用拆分:
$function = "int func1( int * , const float, const char[])"
print split(/(\(|\)|\*|[|]|,|\ )/, $function);
它返回这个数组
["int" "func1", "(", "int", "*", ",", "const", "float", ",", "const", "char[]", ")"]
这基本上是正确的,但我不需要删除空格。所以我期待这样的事情
["int " "func1", "( ", "int ", "* ", ", ", "const ", "float", ", ", "const ", "char[]", ")"]
我有什么选择吗?(而不是编写我自己的词法解析器)