web-dev-qa-db-ja.com

Boost正規表現replaceメソッドの使用方法は?

私はこれらの変数を持っています:

boost::regex re //regular expression to use
std::string stringToChange //replace this string
std::string newValue //new value that is going to replace the stringToChange depending on the regex.

私はそれの最初の出現だけを置き換えたいだけです。

どうもありがとう。

編集:私はこれを見つけました:

boost::regex_replace(stringToChange, re, boost::format_first_only);

しかし、関数が存在しないと表示されているので、現時点ではパラメータが正しくないと思います。

13
unwise guy

基本的な使用例を次に示します。

#include <iostream>
#include <string>
#include <boost/regex.hpp>

int main(){
  std::string str = "hellooooooooo";
  std::string newtext = "o Bob";
  boost::regex re("ooooooooo");
  std::cout << str << std::endl;

  std::string result = boost::regex_replace(str, re, newtext);
  std::cout << result << std::endl;
}

出力

hellooooooooo

こんにちはボブ

<boost/regex.hpp>が含まれていて、boost_regexライブラリにリンクされていることを確認してください。

34
Jesse Good