overtrue / double-array-trie
Double Array Trie 的 PHP 实现。
1.0.0
2022-04-21 00:41 UTC
Requires
- php: >=8.0.2
- ext-mbstring: *
Requires (Dev)
- brainmaestro/composer-git-hooks: ^2.8
- friendsofphp/php-cs-fixer: ^3.0
- jetbrains/phpstorm-attributes: ^1.0
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-21 05:37:57 UTC
README
Double Array Trie 的 PHP 实现。
安装
$ composer require overtrue/double-array-trie -vvv
使用
构建 DoubleArrayTrie
使用字符串数组构建
use Overtrue\DoubleArrayTrie\Builder; $builder = new Builder(); $trie = $builder->build(['foo', 'bar', 'baz']); $trie->export()->toFile('trie.json'); $trie->export()->toFile('trie.php'); $trie->export()->toFile('trie.dat');
使用键值数组构建
use Overtrue\DoubleArrayTrie\Builder; $builder = new Builder(); $trie = $builder->build([ '一举' => 'yi ju', '一举一动' => 'yi ju yi dong', ]);
加载 DoubleArrayTrie
use Overtrue\DoubleArrayTrie\Factory; $trie = Factory::loadFromFile('trie.json'); $trie = Factory::loadFromFile('trie.php'); $trie = Factory::loadFromFile('trie.dat');
匹配
use Overtrue\DoubleArrayTrie\Matcher; $trie = Factory::loadFromFile('trie.json'); $matcher = new Matcher($trie);
匹配无值的字符串
// ['foo', 'bar', 'baz'] $matcher->match('foo'); // true $matcher->match('oo'); // false
匹配有值的字符串
// ['一举' => 'yi ju', '一举一动' => 'yi ju yi dong'] $matcher->match('一举'); // 'yi ju' $matcher->match('一举一'); // false
前缀匹配
// ['一举' => 'yi ju', '一举一动' => 'yi ju yi dong', '一举成名' => 'yi ju cheng ming',] $matcher->prefixMatch('一举一动都很奇怪'); // [ // '一举' => 'yi ju', // '一举一动' => 'yi ju yi dong' //]
致谢
- darts-java: Double-ARray Trie System Java 实现。
- DoubleArrayTrie: Double Array Trie 的 PHP 实现。
- 双数组Trie树(DoubleArrayTrie)Java实现
❤️ 赞助我
如果你喜欢我的项目并想支持它,点击这里 ❤️
由 JetBrains 支持的项目
非常感谢 JetBrains 好意提供许可证,让我能够为这个和其他开源项目工作。
贡献
你可以通过以下三种方式之一进行贡献
代码贡献过程并不十分正式。你只需确保遵循 PSR-0、PSR-1 和 PSR-2 编码规范。任何新的代码贡献都必须附有适用的单元测试。
许可证
MIT