假设我的 etc/passwd 中有这一行:
xuser01:*:111000:201:User Name, School Info, Year:/homes/pc/xu/xuser01:/bin/ksh
我逐行浏览文件。
从参数我得到用户名/用户ID,告诉我应该将哪些行存储到变量中。
使用 regex_match 和 regex_search 我没有得到任何结果,而当我在在线正则表达式测试仪上测试它时,它就像地狱一样工作。知道为什么这不起作用吗?
regExpr = "^(xuser01|xuser02)+:((.*):?)+";
if(regex_search(line, regex(regExpr)))
{
cout << "Boom I got you!" << endl;
}
line
包含当前读取的行,它循环遍历整个文件,并且找不到字符串。我regex_match
也用过,结果一样。
我尝试了不同的正则表达式:(xuser01|xuser02)+
和类似的,被设计成几乎 100% 肯定匹配(但仍然是我需要匹配的),它在我的 C++ 程序中都不起作用,在在线正则表达式测试器上。
建议?
提前致谢!