嘿,我知道有很多问题要与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
}