anhoder/boyer-moore

Boyer-Moore algorithm in PHP(support Chinese).

0.1.1 2021-09-12 15:57 UTC

This package is auto-updated.

Last update: 2024-04-12 22:11:31 UTC


README

PHP实现的Boyer-Moore字符搜索算法,支持中文。 PHP implementation of Boyer-Moore character search algorithm, support for Chinese.

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

GitHub stars GitHub forks

Requirement

"symfony/polyfill-mbstring": "^1.23"

Install

composer require anhoder/boyer-moore

Usage

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]