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
我还没有试过,但我认为它对你的需要很有用。