【发布时间】:2011-12-02 21:44:50
【问题描述】:
我只是想弄乱并熟悉在 c++ 中使用正则表达式。 假设我希望用户输入以下内容:###-$$-###,使 #=0-9 之间的任何数字和 $=0-5 之间的任何数字。这是我的想法:
regex rx("[0-9][0-9][0-9]""\\-""[0-5][0-5]")
这不是确切的代码,但这是检查用户输入是否为有效数字字符串的一般思路。但是,假设我不允许以 0 开头的数字,因此:099-55-999 是不可接受的。我怎样才能检查类似的东西并输出无效?谢谢
【问题讨论】:
-
我不确定要问什么?你能试着澄清一下你的问题,理查德吗?
-
make #=... 是什么意思?您需要提供输入/输出。
-
我注意到你用 VS2010 标记。您是否考虑过使用 std::regex?它是标准库的一部分,我认为它基于 boost 的实现。如果您在项目中仅针对正则表达式引入 boost 依赖项,您可能希望放弃 boost 以支持标准标头。
标签: c++ regex visual-studio-2010 boost-regex