有没有人遇到Java版本的Google正则表达式库RE2或类似功能和良好性能的Java库?性能要求是关于正则表达式的长度和输入文本长度的线性时间。
澄清
大多数正则表达式实现使用回溯算法来匹配输入文本,因此在一些简单的正则表达式(例如(。*)。(。*)。(。*)。(。*))上是指数的。 RE2是来自google的库,通过使用使用自动机理论的概念随输入大小线性变化的算法来解决这个问题。提问者想知道是否存在基于此算法的Java库。
Google今天发布了Go的RE2实现的纯Java端口。
你可以在这里找到它:
你可以在这里找到它: