evosoftcz/reverse-regex

将正则表达式转换为文本,用于测试

1.0.0 2021-11-14 08:09 UTC

This package is auto-updated.

Last update: 2024-09-14 18:58:33 UTC


README

Build Status

使用正则表达式生成字符串。

安装

此库通过Composer安装。要安装,请在您的应用程序中使用composer require pointybeard/reverse-regex

使用方法

<?php

declare(strict_types=1);

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

require "vendor/autoload.php";

$pattern = "[a-z0-9]{10}"; // 10 random letters and numbers

$lexer = new Lexer($pattern);
$random = new SimpleRandom();
$parser = new Parser($lexer, new Scope(), new Scope());
$generator = $parser->parse()->getResult();

$result = '';

$parser = new Parser($lexer,new Scope(),new Scope());

var_dump($generator->generate($result, $random));
// string(10) "j2ydisgoks"

有关更多示例,请参阅https://github.com/pointybeard-forks/ReverseRegex/tree/master/examples

编写正则表达式时的注意事项

  1. 转义所有元字符,即如果您需要在正则表达式中转义字符,您需要在此处转义。
  2. 并非所有元字符都受支持,请参见以下列表。
  3. 使用\X{####}指定Unicode值,使用[\X{####}-\X{####}]指定范围。
  4. 不支持的Unicode \p,我找不到UCD到PHP的端口,也许将来会添加支持。
  5. 量词应用于最左侧的组,字面量或字符类。
  6. 注意+*量词,它们应用的最多可能出现次数为PHP_INT_MAX

支持的语法

关于

要求

  • 此库与PHP 7.2或更高版本兼容。

支持

如果您认为您发现了一个错误,请使用GitHub问题跟踪器进行报告。

作者

许可协议

"ReverseRegex"基于MIT许可证发布。有关详细信息,请参阅LICENCE