【发布时间】:2013-01-01 23:54:51
【问题描述】:
我一直在寻找在 c++ 中使用正则表达式的地方,因为我想学习 C++ 中的正则表达式(如果你们有的话,也请给我一个逐步链接)。我正在使用 g++ 编译我的程序并在 Ubuntu 中工作。 早些时候我的程序没有编译,但后来我读了这篇文章,上面说要编译程序 “g++ -std=c++0x 样本.cpp” 使用正则表达式标头。 我的第一个程序运行正常,我尝试实现 regex_match
#include<stdio.h>
#include<iostream>
#include<regex>
using namespace std;
int main()
{
string str = "Hello world";
regex rx ("ello");
if(regex_match(str.begin(), str.end(), rx))
{
cout<<"True"<<endl;
}
else
cout<<"False"<<endl;
return(0);
}
我的程序返回 false ...(因为表达式不完全匹配) 我还通过使其匹配来重新检查它......它有效。 现在我正在编写另一个程序来实现 regex_replace 和 regex_search 。两者都不起作用(对于 regex_search,只需将上述程序中的 regex_match 替换为 regex_search。请帮助。我不知道我哪里出错了。
【问题讨论】:
-
您向我们展示了您说可以正常工作的代码,然后问我们为什么其他代码不起作用,但您没有向我们展示该代码。您能想出一些可以帮助我们猜测其他代码有什么问题的方法吗?
-
我告诉过你只需将 regex_match 替换为 regex_search .. 后者应该返回 true 但不是 ...