ahorkh / reverse-regex
将正则表达式转换为文本,用于测试
1.0.0
2022-07-06 18:47 UTC
Requires
- php: >=7.2
- doctrine/collections: ^1.6
- doctrine/lexer: ^1.2
- symfony/polyfill-mbstring: ^1.23
Requires (Dev)
README
使用正则表达式生成字符串。
安装
此库通过 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。
编写正则表达式时的注意事项
- 转义所有元字符,即如果您需要在正则表达式中转义字符,您需要在此处转义。
- 并非所有元字符都受支持,请参见以下列表。
- 使用
\X{####}
指定unicode值,使用[\X{####}-\X{####}]
指定范围。 - 不支持Unicode
\p
,我无法找到UCD到php的端口,可能在未来会添加支持。 - 量词应用于最左侧的组,字面量或字符类。
- 请注意
+
和*
量词,它们应用的可能最大出现次数为PHP_INT_MAX
。
支持的语法
关于
需求
- 此库与PHP 7.2或更高版本兼容。
支持
如果您认为您已找到错误,请使用 GitHub问题跟踪器 报告。
作者
- Lewis Dyer (http://www.icomefromthenet.com, https://github.com/icomefromthenet/ReverseRegex) - 原始作者
- Alannah Kearney (https://github.com/pointybeard) - 库被废弃后修复了一些问题
- 有关参与此项目的贡献者列表,请参阅
许可
"ReverseRegex" 在MIT许可下发布。有关详细信息,请参阅LICENCE。