首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式分析器生成器

正则表达式分析器生成器
EN

Stack Overflow用户
提问于 2012-01-27 18:13:39
回答 3查看 1.8K关注 0票数 6

有时,使用高度优化的regex搜索函数比在运行时包含生成解析器的库更方便。是否有适合这种角色的解析器生成器?

理想的情况是:

  • 创建一个C函数
  • 生成与给定正则表达式对应的DFA。
  • 在简单的情况下,与KMP或Boyer-Moore一样有效。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-06 11:08:00

下面列出了所有适合您需要的工具:

  1. Lex/Flex可能是从正则表达式构造解析器的最著名工具。Lex在许多场景中都很有用,但是它会给简单的解析应用程序增加太多的开销,这是因为重量级的处理循环强加了流“拉”模型和输入缓冲。它旨在解析整个文件,而不是简单的字符串。
  2. Re2C。它是一个预处理器,它从正则表达式生成基于C的识别器。生成的状态机运行得非常快,并且很容易集成到任何程序中,没有依赖关系。
  3. Ragel状态机编译器。另一个由高级正则语言表示法生成FSM代码的预处理器(正则表达式就是这种定义的一个例子)。它适用于多种语言(C、C++、Objective、D、Java和Ruby),可以对不同的FSM事件执行用户操作,还可以生成图形格式的状态机定义,用于状态和转换的可视化。
票数 6
EN

Stack Overflow用户

发布于 2012-01-27 18:16:40

Lex和Flex实际上是regexp编译器.

票数 5
EN

Stack Overflow用户

发布于 2012-01-27 18:17:28

这个怎么样:

http://www.boost.org/libs/xpressive/

这里也提到了:regex: boost::xpressive . boost::regex

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9038039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档