我正在开发一个不能使用字符串库文件的程序,而是使用char数组。我能够使用正则表达式,并想知道是否有办法使用正则表达式和字符数组,甚至是正则表达式和单个字符?
我问的原因是当我尝试在匹配中使用我的char数组时,xUtility会从“TEMPLATE CLASS iterator_traits”中抛出一堆错误
if(regex_match(userCommand[3], userCommand[8], isNumeric))
错误:
答案 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))