pointybeard / reverse-regex
将正则表达式转换为文本,用于测试
1.0.0.3
2022-04-20 04:32 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。