Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Pex正则表达式问题_C#_Regex_Pex - Fatal编程技术网

C# Pex正则表达式问题

C# Pex正则表达式问题,c#,regex,pex,C#,Regex,Pex,我试图为执行正则表达式匹配的方法生成输入。 我从具有以下功能的代码开始: public bool patternMatch(string input, string pattern) { string regexPattern = Regex.Escape(pattern).Replace(@"\*", ".*").Replace(@"\?", "."); PexObserve.Value<string>("pattern", regexPattern); R

我试图为执行正则表达式匹配的方法生成输入。 我从具有以下功能的代码开始:

public bool patternMatch(string input, string pattern)
{
    string regexPattern = Regex.Escape(pattern).Replace(@"\*", ".*").Replace(@"\?", ".");
    PexObserve.Value<string>("pattern", regexPattern);
    Regex regex = new Regex("^" + regexPattern + "$");
    return regex.IsMatch(input);
}
公共布尔模式匹配(字符串输入,字符串模式)
{
字符串regexpatern=Regex.Escape(pattern).Replace(@“\*”,“*”).Replace(@“\?”,“);
PexObserve.值(“模式”,regexpatern);
正则表达式正则表达式=新正则表达式(“^”+regexpatern+“$”);
返回regex.IsMatch(输入);
}
对于性能问题,我正在尝试从
新正则表达式(模式)
切换。 相反,我尝试使用
Regex.IsMatch(输入,模式)

结果是
MissingMethodException

我试着在网上寻找解决方案,发现pexforfun.com上的例子也有同样的问题()

这个问题有什么解决办法吗?
我不确定使用
Regex.IsMatch()
的改进是否会产生更好的结果(更少的超时),但“昂贵”的方法很难产生有用的输入集


或者:我如何说服Pex更好/更快地使用
new Regex
表达式(即不满足边界条件)?

您不必从
new Regex(…).IsMatch
切换到
Regex.IsMatch
——它们都将使用内部Regex缓存。事实上,静态方法确实执行
新正则表达式(…)。IsMatch
-请参阅。谢谢。但是,我不能使用
Regex.IsMatch(…)
仍然很遗憾