2012-03-28 131 views
4

我刚刚使用使用boost :: program_options,我想用冒号和逗号表示法解析数字命令行参数。例如,我想有这样一种说法:是否有解析冒号和逗号符号的解析器?

myprogram --numbers 1:100,200,300 

产生一个向量与整数1-100然后200,最后300

是否有这个符号的名称?

我的第一个倾向是我不得不把这个参数作为一个字符串处理,然后将它传递给一个执行解析的函数函数。看起来这是一个很好的候选人,可以说“某人已经完成了并且已经可用”。

+0

可能的重复[是否C#内置支持解析页码字符串?](http://stackoverflow.com/questions/40161/does-c-sharp-have-built-in-support-for -parsing-page-number-strings) – 2012-10-01 12:55:24

+0

听起来像一个伟大的工作正则表达式 – 2013-04-27 21:04:32

回答

0

我会用boost::spirit并定义一些自定义semantic actions。确保你使用的boost :: spirit版本与编译器兼容。我在旧版编译器中使用了更新的boost :: spirit有问题。 Matlab调用1:5“冒号记号”。漂亮的反高潮呃?