是否有CPAN模块来解析嵌套括号?

时间:2008-12-09 21:15:27

标签: perl cpan

是否有CPAN模块可以读取这样的字符串:

"[[<asdf>, <foo>], (abc, def, ghi), ({'jkl'})]"

...并将其解析为某种易于行走和漂亮打印的树状结构?

5 个答案:

答案 0 :(得分:9)

我认为你可以建立在Text::Balanced之上,这将为你做很多繁重的工作。但是,您仍然需要构建树结构。

答案 1 :(得分:4)

Perl 5.10的正则表达式可以处理这样的平衡结构。请参阅perlre中的(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)部分。

答案 2 :(得分:2)

Perl 6将有内置工具来帮助支持这一点。在此期间,Text :: Balanced(如Dave Rolsky所述)可能是首选模块。请注意,它也是由Damian Conway撰写的(Bill Karwin称赞)。

答案 3 :(得分:1)

Damian Conway's Parse::RecDescent

我没有使用过这个,但是Damian Conway编写的Perl模块值得使用是个不错的选择。

答案 4 :(得分:0)

如果字符串与Data Dumper格式相同,则可以eval - 重新编辑回原始结构。