编写正则表达式的解析器

22 浏览
0 Comments

编写正则表达式的解析器

虽然我已经编程多年,但我很惭愧地说我从未完全掌握正则表达式。通常情况下,当问题需要用到正则表达式时,我通常(在查阅语法之后)能够想出一个合适的表达式,但我发现自己越来越经常使用这种技术。

所以,为了自学并正确理解正则表达式,我决定像学习其他东西一样,尝试写一些有野心的东西,但很可能在感觉已经学到足够的时候就放弃。

为此,我想在Python中编写一个正则表达式解析器。在这种情况下,“学到足够”意味着我想实现一个能完全理解Perl的扩展正则语法的解析器。然而,它不必是最高效的解析器,甚至不一定能在实际中使用。它只需要能够正确地匹配或不匹配字符串中的模式。

问题是,我从哪里开始呢?除了它涉及有限状态自动机之外,我对正则表达式的解析和解释几乎一无所知。对于如何解决这个相当艰巨的问题,任何建议都将不胜感激。

编辑:我应该澄清一点,虽然我将在Python中实现正则表达式解析器,但对于示例或文章所使用的编程语言并不特别在意。只要不是Brainfuck,我可能会理解其中足够多的内容,使之值得我去学习。

0