std / boost regex_replace
按值返回修改后的字符串。在我的情况下,我必须在文件中搜索/替换正则表达式。我有数千个要处理的文件,其中许多文件的大小超过1MB。要搜索和替换的字符串很少见(例如,只有5-10%的文件会有它)。
因此,可用的接口是可以运行正则表达式替换,如果找不到搜索的字符串,那么避免创建1MB缓冲区的副本?
我只是似乎没弄清楚,c ++中的正则表达式接口是否失败,唯一的方法是首先在我的缓冲区中搜索字符串,并且只有在找到它然后使用regex_replace(有效地第二次搜索)?或者我可以重用regex_match或regex_search中的结果并将它们传递给regex_replace吗?