gpt4 book ai didi

c++ - re2 根本不改变字符串

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

我第一次尝试使用 re2 时就在这里编写了这段代码:

string s;
RE2::PartialMatch(".+\\.com","http://example.com/", &s);

它不起作用; s 没有改变并且保持空白。我可以将第一行更改为 string s = "foo";,在第二行运行后,s 将保持为 "foo"

我做错了什么?

最佳答案

您对 PartialMatch 的使用有两处错误:

  1. 正如 Jesse Good 已经提到的,正则表达式应该是第二个参数而不是第一个。
  2. PartialMatch 的指针参数用于存储与正则表达式的捕获组匹配的子字符串。您的正则表达式不包含任何捕获组,因此不会向指针写入任何内容。

这应该有效:

RE2::PartialMatch("http://example.com/", "(.+\\.com)", &s);

或者如果您不想包含“.com”部分:

RE2::PartialMatch("http://example.com/", "(.+)\\.com", &s);

关于c++ - re2 根本不改变字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11285290/

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