c# – 如何使用Regex检查参数?
发布时间:2020-12-16 01:37:57 所属栏目:百科 来源:网络整理
导读:我坚持使用正则表达式.该程序是一个用C#编写的控制台应用程序.有一些命令.我想首先检查参数是否正确.我认为使用正则表达式会很容易,但不能这样做: var strArgs = "";foreach (var x in args){ strArgs += x + " ";}if (!Regex.IsMatch(strArgs,@"(-?|-help
我坚持使用正则表达式.该程序是一个用C#编写的控制台应用程序.有一些命令.我想首先检查参数是否正确.我认为使用正则表达式会很容易,但不能这样做:
var strArgs = ""; foreach (var x in args) { strArgs += x + " "; } if (!Regex.IsMatch(strArgs,@"(-?|-help|-c|-continuous|-l|-log|-ip|)* .{1,}")) { Console.WriteLine("Command arrangement is wrong. Use "-?" or "-help" to see help."); return; } 用法是: program.exe [-options] [domains] 问题是,程序接受所有命令.另外我需要检查“ – ”前缀命令是否在域之前.我认为这个问题并不难解决. 谢谢… 解决方法
既然您最终还是会编写一个switch语句来处理选项,那么最好在那里进行检查:
switch(args[i]) { case "-?": ... case "-help": ... ... default: if (args[i][0] == '-') throw new Exception("Unrecognised option: " + args[i]); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |