gpt4 book ai didi

c++ - C++ regex_replace 中的后缀 ($´) 不起作用

转载 作者:行者123 更新时间:2023-11-30 03:48:01 25 4
gpt4 key购买 nike

根据 c++ regex_replace specification , 应该指定匹配的后缀。但它不起作用:

#include <iostream>
#include <string>
#include <regex>
#include <iterator>

int main ()
{
std::string s ("there is a subsequence in the string\n");
std::regex e ("\\b(a )(subsequence)(.*)");
// with flags:
std::cout << std::regex_replace (s,e,"$´1digit$03",std::regex_constants::format_default);
std::cout << std::endl;

return 0;
}

输出:

there is $´1digit in the string

它不是后缀,而是按字面打印 。我怎样才能做到这一点?

注意:我在键盘上找不到这个 ´ 字符(从 cplusplus.com 的 regex_replace specification page 复制)

最佳答案

它应该是一个简单的撇号':

std::cout << std::regex_replace (s,e,"$'1digit$03",std::regex_constants::format_default)

这打印:

    v--the unmatched part
v v------the $' part (note that it includes a \n)
/------\ /-------------\
there is in the string
1digit in the string
\__________________/
^---- the 1digit$03 part

所以很可能是在 cpluspluc.com 上制作该页面的人只是打错了字。

关于c++ - C++ regex_replace 中的后缀 ($´) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33410591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com