ahorkh/reverse-regex

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

1.0.0 2022-07-06 18:47 UTC

This package is auto-updated.

Last update: 2024-09-07 00:07:15 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