PHP实现的Boyer-Moore字符搜索算法,支持中文。 PHP implementation of Boyer-Moore character search algorithm, support for Chinese.
"symfony/polyfill-mbstring": "^1.23"
composer require anhoder/boyer-moore
require './vendor/autoload.php';
$text = 'ababa';
$matcher = new \Anhoder\Matcher\BoyerMooreMatcher('aba');
$res = $matcher->match($text, \Anhoder\Matcher\BoyerMooreMatcher::MODE_REUSE_MATCHED);
var_dump($res);
BoyerMooreMatcher::MODE_ONLY_ONE
: 匹配到一个就返回BoyerMooreMatcher::MODE_SKIP_MATCHED
: 找出所有匹配的字串,已匹配的字符不参与后续匹配,例如:在ababa
中搜索aba
结果为[0]
BoyerMooreMatcher::MODE_SKIP_MATCHED
: 找出所有匹配的字串,已匹配字符继续参与匹配,例如:在ababa
中搜索aba
结果为[0, 2]