在编程中,我们有不少需要对字符/字符串进行匹配的场景。
如果利用循环体来进行查找匹配,对于数据量比较少的功能还可以实现,但是如果对于数据量比较大的场景,那么其所消耗的时间,将会让人难以接受。
本文将对如何利用正则表达式来进行字符匹配来进行探讨。
之前,我已经写过正则表达式的表达规则,再次便步过多赘述。
有兴趣的可以自行查看。
正则表达式规则:传送门
C++提供了官方库regex.h,之所以以次为例,方便开发时,使用不同的工具进行开发,例如QT如果不了解QT提供的QTRegex时,使用C++标准库就能更快的开发。
本文主要涉及regex_replace函数的使用。
replace是替换匹配,即可以将符合匹配规则的子字符串替换为其他字符串。
regex_replace函数一共包含三个参数:
参数一:需要被搜索替换的元字符串
参数二:正则表达式元素
参数三:被替换后的字符串。
一个简单的示例:
#include
#include
#include
using namespace std;
int main() {
string str = "Mely Lenient Is A Bad Programmer!";
regex pattern("Bad");
cout << regex_replace(str, pattern, "Good") << endl;
return 0;
}
运行结果如图所示:
接下来出个题:
1、通过scanf_s灵活输入原字符串,需要替换的字符换,需要被替换的字符串,并输出结果。
2、读取文件,并对文件中的数据进行替换。
后天更新题解!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)