要搜索S中的s(size(S)> = size(s)并返回true / false值),使用Apache的StringUtils.contains()或使用Boyer-Moore算法实现性能会更好我找到的人测试得好吗?
由于
答案 0 :(得分:8)
上次我在调试时查看Java正则表达式匹配代码时,Java 7正则表达式引擎使用Boyer-Moore算法来处理文本文本匹配的序列。因此,使用Boyer-Moore查找String
的最简单方法是使用p=Pattern.compile(searchString, Pattern.LITERAL)
进行准备并使用p.matcher(toSearchOn).find()
进行搜索。没有第三方图书馆,也不需要手工制作。我相信JRE课程的测试很好......
答案 1 :(得分:0)
Apache Lang使用Java API的Region Matching来实现其包含的实现。很难说哪个表面更快。听起来像是一个构建一个简单测试用例的机会,并且可以双向运行并查看。