定制 tstache/randexp 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tstache/randexp

Composer 安装命令:

composer require tstache/randexp

包简介

randexp will generate a random string that matches a given regex

README 文档

README

RandExp will generate a random string that matches a given regex.

It is based and inspired by the JS library https://github.com/fent/randexp.js.

Installation

composer require tstache/randexp

Usage

Basic Usage

include 'vendor/autoload.php';

$randExp = new \RandExp\RandExp('H[euioa]llo{1,10} (World|You)\n');
echo $randExp->generate();  // Output: Hellooooooo World
echo $randExp->generate();  // Output: Hullooooo You

$randExp = new \RandExp\RandExp('\d{4}');
echo $randExp->generate();  // Output: 2709

More examples

include 'vendor/autoload.php';

// Ignore-case option
$randExp = new \RandExp\RandExp('Hello', 'i');
echo $randExp->generate();  // Output: heLLO

// Capturing group reference
$randExp = new \RandExp\RandExp('<([a-z_]{1,5})>\d{4}</(\1)>');
echo $randExp->generate();  // Output: <nvd>5851</nvd>

// Maximum allowed repetition
$randExp = new \RandExp\RandExp('Hello*');
$randExp->maxRepetition = 2;
echo $randExp->generate();  // Output: Helloo

// Adding UTF-8 codepoints
$randExp = new \RandExp\RandExp('.{10}');
$randExp->charRange->add(127, 65535);
echo $randExp->generate(); // Output: Ꮻ啒窒녳ઠ椹䲀摷ꔞ

Supported regex tokens

  • .: Any character
  • ^: Position start
  • $: Position end
  • \w: Word
  • \W: Not word
  • \d: Int
  • \D: Not int
  • \s: Whitespace
  • \S: Not whitespace
  • \b: Word boundary
  • \B: Non word boundary
  • \ followed by number: Capturing group reference
  • [ and ]: Custom sets
  • ( and ): Capture group
  • |: Choice
  • { and }: Repetition range
  • ?: Repetition 0 or 1
  • +: Repetition 1 or more
  • *: Repetition 0 or more

Tests

Run tests via:

vendor/bin/phpunit

tstache/randexp 适用场景与选型建议

tstache/randexp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.44k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2022 年 12 月 18 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 tstache/randexp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 tstache/randexp 我们能提供哪些服务?
定制开发 / 二次开发

基于 tstache/randexp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 3.44k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-12-18