RE2/J: 线性时间的正则表达式匹配Java工具

15-02-28 banq
    

RE2/J是Goole推出的流行的RE2正则表达式的纯Java实现库包,可以作为java.util.regexp的替代实现:

Google Open Source Blog: RE2/J: Linear-time regula

尽管RE2/J并不总是快于java.util.regexp,但是它的运行时间是和输入的大小有线性关系的,这样当需要匹配大量的输入时,特别是模式高度匹配时,RE2/J会动态的更快。它能够在对一些非信任用户输入场合确保性能,比如Web服务器的客户端输入。

RE2/J广泛地被使用在Google的Java项目中,经常作为java.util.regexp替代,如今已经开放为开源项目供大家使用。