正規表現を使ってみる

Debianではlibboost-devとlibboost-regex-devパッケージをインストールしておきます。

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

using namespace boost; 
using namespace std;

int main(){
  regex re("<(.*?)>");
  const string source = "<tag>body</tag>";
  const string format = "&lt;$1&gt;";
  string result = regex_replace(source, re, format);
  cout << result << endl;
  return 0;
}

んで、コンパイルして実行してみます。


$ g++ regex.cpp -lboost_regex -oregex
$ ./regex
&lt;tag&gt;body&lt;/tag&gt;
日本語も特に問題なく使えているみたい。文字コードUTF-8だからかな?