知识卡片

正则表达式的本质是布尔判断微语言

专业/工作 · 49

内容

正则表达式本质上是一门内嵌在宿主语言里的、语法极简的微型编程语言,它的全部工作只有一件事:接收一个字符串,判定它属于”匹配”还是”不匹配”两类之一,没有第三种结果。理解了这个本质定义之后,再遇到看起来复杂的正则也不会迷失方向——所有的元字符、量词、分组,归根结底都是在描述”哪些字符串属于匹配集合”这一个问题的不同表达方式。发散:这解释了为什么正则表达式能跨语言通用(awk、grep、编辑器都支持它)——它解决的是一个与宿主语言无关的独立子问题。

参考来源

《Perl语言入门(第五版)》第7章《漫游正则表达式王国》