嘿,我知道有很多问题要与Regex匹配报价,但我尝试过的几个问题还没有使我走得很远...我认为这只是Regex的新案例

基本上,我正在解析unix grep命令字符串,需要提取所有grep的内容。一个例子:

cat theLogFile | grep "some stuff" | grep moreStuffWithRandomChars*&^^#&@_+ | grep "stuff" | grep thing2


我希望结果是:

"some stuff"
moreStuffWithRandomChars*&^^#&@_+
"stuff"
thing2


谢谢大家!

最佳答案

此模式将以下结果作为第一组返回


  字符串regexPattern = @“ grep(。*?)(\ || $)”;


“一些东西”

更多StuffWithRandomChars *&^^#&@ _ +

“东西”

事2

这是一个如何使用它的示例:

try
{
    Regex regex = new Regex(@"grep (.*?)( \||$)");
    Match grepStrings = regex.Match(commandline);
    while (grepStrings.Success)
    {
        // matched text: grepStrings.Value
        // match start: grepStrings.Index
        // match length: grepStrings.Length
        grepStrings = grepStrings.NextMatch();
    }
}
catch (ArgumentException ex)
{
    // Syntax error in the regular expression
}

09-20 04:16