[go: up one dir, main page]

Skip to content

PHP implementation of Boyer-Moore character search algorithm, support for Chinese.

License

Notifications You must be signed in to change notification settings

anhoder/boyer-moore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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]