我正在使用Subsonics Substage,刚刚收到此错误?有关原因的任何建议吗?
亚音速解析“*” - 量词{x,y}无效
答案 0 :(得分:3)
我在.Net中使用正则表达式遇到了这个问题,以下内容帮助了我:
http://bbrown.info/2007/01/02/parsing-quantifier-xy-following-nothing-considered-harmful.aspx
这是我遇到的问题代码类似于:
public void foo(string path, string userSearchPattern)
{
const string kPattern = "*";
// Interestnigly, using "*" here works ok.
string[] dirs = Directory.GetDirectories(path, kPattern, SearchOption.AllDirectories);
foreach (string subDir in dirs)
{
// user search pattern is "*"
Match m = Regex.Match(subDir, userSearchPattern);
if (m.Success)
{
// do something fun here
}
}
}
我更改了kPattern并将userSearchPattern传入以下内容并且一切顺利。我没有太多考虑我正在创建的正则表达式,但上面链接的帖子中的第一条评论揭示了facepalm时刻 - 我需要告诉正则表达式对象我想要零或更多某事 ...
string userSearchPattern = ".*";
foo(somePath, userSearchPattern);
我不使用Substage,但是您可能正在创建一个带有“*”的查询,并且需要告诉它某些内容中的零个或多个。