正则表达式不匹配C ++

莫里斯·佐丹奴(Maurice Giordano)

我有以下字符串要测试:

"CPF char,
Nome char [80],
Idade int,
Salario double,
Sexo char,
Tem_Filhos bool,"

或者简单地:

string testStatement("CPF char,\nNome char [80],\nIdade int,\nSalario double,\nSexo char,\nTem_Filhos bool,");

这是我的regEx:

regex createTableInside("(?:[ \\n\\t]*)(\\w*)(?:[ \\n\\t]+)(?:(?:(char)[ \\n\\t]*\\[[ \\n\\t]*(\\d*)[ \\t\\n]*\\])|(char)|(int)|(double)|(bool)|(bloob))(?:[ \\n\\t]*)(,)");

当我执行时regex_search,它会找到所有内容:

while(regex_search(testStatement, check, createTableInside))
{
    for(index = 1; index < check.size(); index++)
    {
        if(check.str(index).compare("") == 0) continue;

        cout << "\"" << check.str(index) << "\"" << endl;
    }

    aux = check.suffix();
}

输出:

"CPF"
"char"
","
"Nome"
"char"
"80"
","
"Idade"
"int"
","
"Salario"
"double"
","
"Sexo"
"char"
","
"Tem_Filhos"
"bool"
","

但是当我这样做时regex_matchcheck.size()总是返回0

我已经在这里测试了regEx:https ://www.debuggex.com/ ,并且可以使用。

我也尝试过match_any常数:

regex_match(testStatement, check, createTableInside, match_any);

怎么了?

谢谢。

一切都在流动

文档(cppreference.com的std :: regex_search)开始

std::regex_search将成功匹配给定序列的任何子序列,而std::regex_match仅当正则表达式匹配整个序列时才返回true

您可能需要检查std::match_results,以检查在哪一点std::regex_match()与完整序列完全不匹配(请参阅std::match_results::suffix()std::match_results::prefix()成员)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++正则表达式匹配,不匹配

来自分类Dev

正则表达式或不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式在C#中不匹配

来自分类Dev

C ++ 11正则表达式行尾不匹配

来自分类Dev

正则表达式不匹配C#

来自分类Dev

C:正则表达式与浮点文字不匹配

来自分类Dev

表达式不匹配正则表达式

来自分类Dev

匹配单词的正则表达式,或者不匹配

来自分类Dev

Python正则表达式搜索,匹配不匹配

来自分类Dev

完全匹配的正则表达式不部分匹配

来自分类Dev

正则表达式匹配不匹配的内容

来自分类Dev

正则表达式匹配任何字符或不匹配?

来自分类Dev

正则表达式匹配数字或不匹配

来自分类Dev

完全匹配的正则表达式不部分匹配

来自分类Dev

正则表达式匹配(如果不...返回不...)

来自分类Dev

正则表达式与PHP中的正则表达式不匹配

来自分类Dev

正则表达式的正则表达式在Python中不匹配

来自分类Dev

正则表达式与PHP中的正则表达式不匹配

来自分类Dev

egrep匹配时,C中的正则表达式不匹配

来自分类Dev

正则表达式在C#代码中匹配,但在Jquery(MVC)中不匹配

来自分类Dev

POSIX正则表达式不匹配

来自分类Dev

如何使正则表达式不匹配?

来自分类Dev

正则表达式不匹配新行