获取正则表达式的有效匹配项



Hej,

我正在做一个包含测验的项目。多项选择和文本输入作为答案。为了检查文本输入答案,有一个RegEx。例如:

这个操作的名称是什么:3+5。可能的答案:加法,加法,加号,加号,求和,求和+RegEx:/^((A|a)ddition|(P|p)lus|(S|s)um|+)$/

到目前为止还不错。但现在,如果有人答错了,我想显示一个有效的答案。我不想把它冗余地保存在数据库中。

所以我的问题是:有没有一个php函数可以为我提供任何给定RegEx的有效字符串?

类似:echo 'Your answer is wrong, '.valid_pattern($theRegEx).' would have been better.';

提前感谢

如果您想使用正则表达式生成示例数据,可以在ReverseRegex php项目中进行检查。

https://github.com/icomefromthenet/ReverseRegex

这里有一个来自其页面的示例:

use ReverseRegexLexer;
use ReverseRegexRandomSimpleRandom;
use ReverseRegexParser;
use ReverseRegexGeneratorScope;
# 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

我还没有试过,但我认为它对你的需要很有用。

最新更新