subsonic - разбор "*" - квантификатор {x, y} ничего не следует - PullRequest
1 голос
/ 01 ноября 2009

Я использую Subsonics Substage, и только что получил эту ошибку? Любые предложения относительно причины?

дозвуковой анализ "*" - квантификатор {x, y}, ничего не следующий

1 Ответ

3 голосов
/ 17 декабря 2009

Я столкнулся с этой проблемой, используя регулярные выражения в .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 перешел к следующему, и все выглядит хорошо. Я не особо задумывался о создаваемом мной регулярном выражении, но первый комментарий в посте, связанном выше, выявил момент лицевой стороны лица - мне нужно было сказать объекту регулярного выражения, что я хотел ноль или более что-то ...

string userSearchPattern = ".*";
foo(somePath, userSearchPattern);

Я не использую Substage, но, возможно, вы создаете запрос с "*" и вам нужно указать ноль или более что-то .

...