我在第一次使用re2:
时就在这里制作了这段代码string s;
RE2::PartialMatch(".+\\.com","http://example.com/", &s);
它不起作用; s
不会更改并保持空白。我可以将第一行更改为string s = "foo";
,在第二行之后,s
将保持为"foo"
。
我做错了什么?
答案 0 :(得分:2)
使用PartialMatch
时出现两个问题:
这应该有效:
RE2::PartialMatch("http://example.com/", "(.+\\.com)", &s);
或者,如果您不希望s包含“.com”部分:
RE2::PartialMatch("http://example.com/", "(.+)\\.com", &s);
答案 1 :(得分:1)
尝试翻转它们RE2::PartialMatch("http://example.com/","example", &s);
它应该在字符串中给你“示例”。第一个参数是您要搜索的字符串,第二个参数是模式。
答案 2 :(得分:0)
.\\.com
错误的正则表达式捕获anySymbol\.com
,你需要像/.+\.com