anhoder/boyer-moore

PHP中的Boyer-Moore算法(支持中文)

0.1.1 2021-09-12 15:57 UTC

This package is auto-updated.

Last update: 2024-09-12 23:00:04 UTC


README

PHP实现的Boyer-Moore字符搜索算法,支持中文。

GitHub repo size GitHub Last Tag GitHub last commit GitHub All Releases

GitHub stars GitHub forks

需求

"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]