re2での最初の試みで、このコードをここに作成しました:
string s;
RE2::PartialMatch(".+\\.com","http://example.com/", &s);
うまくいきません。s
変化せず、空白のままです。最初の行を に変更しstring s = "foo";
、2 行目を実行した後s
は のままにし"foo"
ます。
私は何を間違っていますか?
使用法には2つの問題がありますPartialMatch
。
これは機能するはずです:
RE2::PartialMatch("http://example.com/", "(.+\\.com)", &s);
または、sに「.com」の部分を含めたくない場合:
RE2::PartialMatch("http://example.com/", "(.+)\\.com", &s);
それらをひっくり返してみてくださいRE2::PartialMatch("http://example.com/","example", &s);
。文字列に「例」が表示されるはずです。最初の引数は検索する文字列で、2 番目の引数はパターンです。
.\\.com
それがキャプチャする間違った正規表現でanySymbol\.com
あり、あなたは同じように必要です/.+\.com