正则表达式所使用的理论模型就是有穷自动机,其具有实现称为正则引擎(Regex Engine)。用正则表达式处理字符串,首先需要生成自动机(“编译”正则对象);之后,无论输入什么字符串,正则引擎都只需要老老实实地在状态之间游走。
正则表达式a(bb)+a对应的自动机。这台自动机的表示与之前看到的稍有不同:在匹配字符串时,输入的都是字符,所以箭头上标注都是字符。
a(bb)+a