亚音速 - 解析“*” - 量词{x,y}无效

时间:2009-11-01 11:19:15

标签: c# asp.net subsonic

我正在使用Subsonics Substage,刚刚收到此错误?有关原因的任何建议吗?

亚音速解析“*” - 量词{x,y}无效

1 个答案:

答案 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,但是您可能正在创建一个带有“*”的查询,并且需要告诉它某些内容中的零个或多个。