学会把复杂的知识拆解成细小的单元,找到更加接近本质的概念。最近看计算机编译原理相关的书,其中有两页讲述正则表达式,只两页,就把正则表达式的底层逻辑给梳理清楚了。一直以来,我对正则表达式的理解都不得要领,看完这两页书,感觉豁然开朗,总算弄清楚了正则表达式是怎么一回事情。

简单来讲,正则表达式表达一个字符串集合,通过使用富符号、可选、联结、Epsilon(空字符串)、克林闭包(重复)等几个规则,我们就可以定义一个字符集。通过省略联结操作符和 Epsilon 符号,定义一系列简写形式,约定字符串本身的使用方式,并引入最长匹配和规则优先原则,我们就完整的定义了正则表达式。

很多知识看起来很复杂,不妨多探究其底层逻辑,把底层的逻辑弄明白了,一切复杂的知识都会变得清晰明了。

永久链接 微博