c语言字符串替换(支持正则表达式)

在处理一些文本或者字符串的时候总是会有进行字符串替换的需求,像是sed中的s以及vim的%s这样,可以很方便地将我们不想要的字符串替换掉,然后在c语言中却没有这样的函数(貌似是没有吧),之前写过一个字符串的替换函数,但之前的函数功能有限,只能进行简单的匹配,最近另做一个替换函数,使用pcre正则库做一个支持正则表达式的字符串替换函数,这样这个函数的功能就要强大的多了。

至于为什么使用pcre而不是posix正则库,这主要是因为在posix中我没有找到非贪婪匹配的方法(貌似是不支持的)所以就现学现卖,即可以写一个支持正则表达式的字符串替换函数又可以练习一下pcre库的使用,真是一举两得啊。。。。

字符串替换函数原型
char *strrep(const char *str,const char *need,const char *repto,int sub);

str 要进行处理的字符串
need 要替换的字符串,支持正则表达式
repto 要替换成的字符串,””表示去除掉要替换的字符串
sub 这是在正则表达式中有子串的情况中使用的,所以该函数只能处理一个子串

下面代码

执行结果

<title>替换后的结果</title>456</title><title>替换后的结果</title><title>替换后的结果</title>

–阅读次数(65)

发表评论

电子邮件地址不会被公开。

*