本以为正则表达式引擎实现起来很难,但深入进去发现,困难是有,但还是没有想象中的那么难。

    由于ips引擎中需要用到正则表达式匹配,无奈只能迎着头皮肯正则表达式了,先先后研究了几个正则表达式实现,看起来实现的都比较负责,如果想移植到内核去,估计难度非常大,而且还会出现很多无法预料到的bug,宕机无可避免,最后一咬牙,自己搞一个。

    从研究正则表达式语法开始,以实现最基本的操作为目的,以linux内核平台为基础,整个研究了下,最后确定使用二叉树实现正则引擎。最后实现出来的效果还不错。效率方面,感觉都差不多,没有细测,等有时间了再详细测个性能指标出来pk下。