今日,I先生の正規表現についてのレクチャーを聞いた.で,PerlやRubyでやるのでは芸がないので,C++で正規表現を扱うプログラムを書いてみた.といってもC++で自前で作るのはアホなので,boost::regexを使ってみた.
#include <iostream> #include <string> #include <boost/regex.hpp> int main(){ std::string test="abcdd"; boost::regex r1("a(.*)"); boost::regex r2("a(.*)d"); boost::regex r3("a(.*?)"); boost::regex r4("a(.*?)d"); std::cout << "src: " << test << std::endl; boost::smatch m; if(boost::regex_search(test, m, r1)) std::cout << m.str(1) << std::endl; if(boost::regex_search(test, m, r2)) std::cout << m.str(1) << std::endl; if(boost::regex_search(test, m, r3)) std::cout << m.str(1) << std::endl; if(boost::regex_search(test, m, r4)) std::cout << m.str(1) << std::endl; return 0; }