我想使用Regex解析器来帮助C应用程序中的某些字符串处理。理想情况下,我正在寻找轻量级和开放源代码的产品。目标平台是嵌入式系统,因此我们希望尽可能节省内存,尤其是在内存消耗方面。我在网上找到了许多选择,但想知道是否有人可以提出其他建议,以在特定情况下提供帮助。

非常感谢,

最佳答案

Scintilla,一个开源文本编辑器组件,使用Ozan S. Yigit's RE engine

选择它是因为它在公共(public)领域(因此没有繁琐的许可证)并且非常轻巧。但这有点有限...就其值(value)而言,RESearch.cxx使用了稍微现代的代码(转换为C++,但将其转换回C并不复杂),并由我自己做了一些小的扩展(支持\d\s\w等)。

有一些替代方法,例如Henry Spencer's regular expression libraries

想到它,Lua regex引擎(在字符串库,gsub实现等中)也可能既快又小,就像语言本身一样。它有其怪癖和局限性,但非常有用。

辅助项目LPeg可以替代RE,但仍然很轻巧但功能强大。

10-04 11:57