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

Cen*_*ane 1 c++ regex arrays char

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

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

if(regex_match(userCommand[3], userCommand[8], isNumeric))
Run Code Online (Sandbox Code Playgroud)

错误:

编译器错误消息

Lig*_*ica 5

std::regex_match它的朋友通过迭代器工作(以及不仅重载,const std::string&而且const char*).

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


根据你的编辑:

if(regex_match(userCommand[3], userCommand[8], isNumeric))
Run Code Online (Sandbox Code Playgroud)

如果userCommand是数组,则传入两个chars,而不是指针("迭代器").

尝试:

if(regex_match(&userCommand[3], &userCommand[8], isNumeric))
Run Code Online (Sandbox Code Playgroud)

要么:

if(regex_match(userCommand + 3, userCommand + 8, isNumeric))
Run Code Online (Sandbox Code Playgroud)