Ruby 想自己写一个文本 parser 吗?这个 parslet 挺好的。

hlxwell · 2012年04月14日 · 最后由 hlxwell 回复于 2012年04月21日 · 3779 次阅读

最近做了两个项目都要用到设计一个自己定义的字符串格式然后去解析他们把他们里面的值取按照约定取出来。比如以下例子,[汉字 | 日文注音] 有些有注音,有些不需要。

[中国 | ちゅうごく][雲南 | うんなん][省 | しょう][の][昆 | こん][明 | あきら][市 | し][在住 | ざいじゅう][の][27][歳 | さい][の][アメリカ][人 | じん][。]

一开始某同事用了正则,挺好的,就是不会写。然后突然找到了Parslet, 嘿神了,复杂正则维护性大大提高了。

详细的可以看我的博客,这里排版太麻烦了 点这里

推荐大家使用。就是速度慢了点。当然肯定比你的 Rails 请求要快,最多就几毫秒吧,但是想用这个去做大量的 log parsing,这个就得去用其他语言开发了,比如 ........ go lang 我们公司的 @sunfmin 领导,是国内 go lang 未来第一人。号称可以用 go 解决地球上的所有问题。大家可以去取经切磋。

那个正则,可读性非常好

好东西。再复杂估计就要用 LALR 了

我刚写完一个类似这样的 paser... XD

正则跟这个 parser 比有差别哦,错误提示不完善哦,得自己写哦。而 parslet 就不一样了,它自带。

哎呀,想不到我们伟大的宙哥也写了一个这么有意思的项目阿。虽然很久没有维护了。 不过宙哥的那个东西,文档我看不懂。

rsec 没比 parslet 快 30 倍我敢出来说吗⋯⋯

经过宙哥耐心细心的讲解,我终于会用 rsec 了。挺好的。

需要 登陆 后方可回复, 如果你还没有账号请 注册新账号