1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | using System; using System.IO; using System.Text; using System.Text.RegularExpressions; public class Program { private static readonly Regex _clRegex = new Regex( @"^(?<command>blah)((\s+(?<option>--.+?))*(\s+(?<fspec>.*?))*)+$", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase); public static void Main(string[] args) { string demo = "blah --arg1 --arg2 --etc doh"; var sb = new StringBuilder(); foreach (Match m in _clRegex.Matches(demo)) { foreach (var kind in new [] {"command", "option", "fspec"}) { var g = m.Groups[kind]; if (g.Success) foreach (Capture cap in g.Captures) { switch(kind) { case "command": sb.Append(cap); break; case "fspec": sb.Append(" " + Path.Combine(Directory.GetCurrentDirectory(), cap.Value)); break; case "option": sb.Append(" " + cap); break; } } } } Console.WriteLine(sb.ToString().Trim()); } } |
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5UZXh0Owp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbQp7CiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBSZWdleCBfY2xSZWdleCA9IG5ldyBSZWdleCgKICAgICAgICAgICAgQCJeKD88Y29tbWFuZD5ibGFoKSgoXHMrKD88b3B0aW9uPi0tLis/KSkqKFxzKyg/PGZzcGVjPi4qPykpKikrJCIsCiAgICAgICAgICAgIFJlZ2V4T3B0aW9ucy5Db21waWxlZCB8IFJlZ2V4T3B0aW9ucy5DdWx0dXJlSW52YXJpYW50IHwgUmVnZXhPcHRpb25zLklnbm9yZUNhc2UpOwoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKHN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgc3RyaW5nIGRlbW8gPSAiYmxhaCAtLWFyZzEgLS1hcmcyIC0tZXRjIGRvaCI7CgogICAgICAgIHZhciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgZm9yZWFjaCAoTWF0Y2ggbSBpbiBfY2xSZWdleC5NYXRjaGVzKGRlbW8pKQogICAgICAgIHsKICAgICAgICAgICAgZm9yZWFjaCAodmFyIGtpbmQgaW4gbmV3IFtdIHsiY29tbWFuZCIsICJvcHRpb24iLCAiZnNwZWMifSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGcgPSBtLkdyb3Vwc1traW5kXTsKICAgICAgICAgICAgICAgIGlmIChnLlN1Y2Nlc3MpIGZvcmVhY2ggKENhcHR1cmUgY2FwIGluIGcuQ2FwdHVyZXMpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc3dpdGNoKGtpbmQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJjb21tYW5kIjogc2IuQXBwZW5kKGNhcCk7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICJmc3BlYyI6ICAgc2IuQXBwZW5kKCIgIiArIFBhdGguQ29tYmluZShEaXJlY3RvcnkuR2V0Q3VycmVudERpcmVjdG9yeSgpLCBjYXAuVmFsdWUpKTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIm9wdGlvbiI6ICBzYi5BcHBlbmQoIiAiICsgY2FwKTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBDb25zb2xlLldyaXRlTGluZShzYi5Ub1N0cmluZygpLlRyaW0oKSk7CiAgICB9Cn0K
-
upload with new input
-
result: Success time: 0.08s memory: 37280 kB returned value: 0
blah --arg1 --arg2 --etc /home/9IjzeN/doh


