正则表达式可以与C ++中的字符数组一起使用

时间:2014-01-23 23:15:06

标签: c++ regex arrays char

我正在开发一个不能使用字符串库文件的程序,而是使用char数组。我能够使用正则表达式,并想知道是否有办法使用正则表达式和字符数组,甚至是正则表达式和单个字符?

我问的原因是当我尝试在匹配中使用我的char数组时,xUtility会从“TEMPLATE CLASS iterator_traits”中抛出一堆错误

if(regex_match(userCommand[3], userCommand[8], isNumeric))

错误:

Compiler error messages

1 个答案:

答案 0 :(得分:5)

std::regex_match及其朋友通过迭代器工作(以及const std::string&const char*的重载。

所以,是的,你绝对可以使用字符数组而不是std::string。我建议阅读文档。


根据你的编辑:

if(regex_match(userCommand[3], userCommand[8], isNumeric))

如果userCommand是数组,则传入两个char,而不是指针(“迭代器”)。

尝试:

if(regex_match(&userCommand[3], &userCommand[8], isNumeric))

或:

if(regex_match(userCommand + 3, userCommand + 8, isNumeric))