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