承接 tstache/randexp 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

tstache/randexp

最新稳定版本:1.3

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

统计信息

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

GitHub 信息

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

其他信息

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