ilario-pierbattista/reverse-regex

将正则表达式转换为文本,用于测试。来自 icomefromthenet/reverse-regex 的分支

0.4.0 2023-11-10 13:57 UTC

README

PHP unit

这是 https://github.com/icomefromthenet/ReverseRegex 的分支(提供 icomefromthenet/reverse-regex)。

使用正则表达式生成文本字符串可用于以下情况

  1. 编写网页表单的测试数据。
  2. 编写数据库的测试数据。
  3. 生成正则表达式的测试数据。

##示例

use ReverseRegex\Lexer;
use ReverseRegex\Random\SimpleRandom;
use ReverseRegex\Parser;
use ReverseRegex\Generator\Scope;

# load composer
require "vendor/autoload.php";

$lexer = new  Lexer('[a-z]{10}');
$gen   = new SimpleRandom(10007);
$result = '';

$parser = new Parser($lexer,new Scope(),new Scope());
$parser->parse()->getResult()->generate($result,$gen);

echo $result;

生成

jmceohykoa
aclohnotga
jqegzuklcv
ixdbpbgpkl
kcyrxqqfyw
jcxsjrtrqb
kvaczmawlz
itwrowxfxh
auinmymonl
dujyzuhoag
vaygybwkfm

其他示例

  1. 澳大利亚电话号码
  2. 澳大利亚邮政编码
  3. 手机号码

##安装

使用 composer 进行安装

composer require ilario-pierbattista/reverse-regex

编写正则表达式

  1. 转义所有元字符,即如果您需要在正则表达式中转义字符,您将需要在这里转义。
  2. 并非所有元字符都受支持,请参阅以下列表。
  3. 使用 \X{####} 指定 Unicode 值,使用 [\X{####}-\X{####}] 指定范围。
  4. 不支持的 Unicode \p,我找不到 UCD(Unicode Character Database)到 php 的端口,也许将来会添加支持。
  5. 量词应用于最左边的分组、文字或字符类。
  6. 注意 +* 量词,它们应用的可能最大发生次数为 PHP_INT_MAX

正则表达式支持