anhoder / boyer-moore
PHP中的Boyer-Moore算法(支持中文)
0.1.1
2021-09-12 15:57 UTC
Requires
- symfony/polyfill-mbstring: ^1.23
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-12 23:00:04 UTC
README
PHP实现的Boyer-Moore字符搜索算法,支持中文。
需求
"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]