2012-03-28 117 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「冒號記號」。漂亮的反高潮呃?