构建正则表达式引擎 - 在线资源?

ana*_*rex 64 regex

我有兴趣构建一个正则表达式引擎,作为一个侧面项目,仅用于学习目的.

我知道正则表达式评估背后的理论,并对有限状态机等有充分的理解.

我感兴趣的是如何在软件中实现正则表达式引擎.所以我想知道是否有任何类型的教程或在线资源解释了正则表达式引擎的实现,从正则表达式转换为FSM等等.我不希望任何网站只是解释它背后的理论.

谢谢.

Gum*_*mbo 47

Russ Cox有很多关于实现正则表达式的文章,特别是他的文章正则表达式匹配可以简单快速地阅读.


Oak*_*Oak 17

我认为Mark-Jason Dominus 的文章Regexes如何工作的.它针对非程序员,但它是以非常算法的方式编写的,因此它可以用于实现这样的引擎,特别是如果您有任何编译经验.我自己也是这样做的.

文章还提到了更高级的技巧和窍门,并提供了一些有关引擎限制的信息.


Jim*_*ans 13

美丽代码的第一章(亚马逊,在线草案)Brian Kernighan谈论了Rob Pike优雅,非常小的正则表达式匹配器.这很简单,但Kernighan提供了七个练习来扩展它,这对你来说可能是一个很好的介绍.


Jam*_* M. 5

如果您对C感到满意,那么您可能会从查看与Perl兼容的正则表达式的源代码中受益.