トップ
新規
一覧
単語検索
最終更新
ヘルプ
ログイン
アールメカブ
Boost_regex
をテンプレートにして作成
開始行:
[[Programming]]
//g++ boostSample.cpp -lboost_regex
#include <iostream>
#include <string>
#include <locale>
#include <boost/regex.hpp>
using namespace std;
int main()
{
locale::global(locale("ja_JP.UTF-8"));//必須
wcout.imbue(std::locale("ja_JP.UTF-8"));//必須
wcin.imbue(std::locale("ja_JP.UTF-8"));//必須
// VC7(windows) 用には
// wcout.imbue(std::locale("japanese"));
// wcin.imbue(std::locale("japanese"));
// setlocale(LC_CTYPE, "") というして方法もある
boost::wregex target(L"(.)れは");
wstring str = L"これはペンです。\
this is a park それは公園です。\
あれは本です。";
// 発見した箇所すべてを表示するための変数
//例えば VC7 では有効
// Linux euc terminalでは表示はされない
wstring::const_iterator it = str.begin(), end = str.end...
while(it != end){
boost::wsmatch result;
// typedef match_results wsmatch; として定義されている
//http://boost.cppll.jp/HEAD/libs/regex/doc/match_result...
if(!boost::regex_search(it, end, result, target))
break;
wcout << result.str() << endl;
it = result[0].second;
}
return 0;
}
Makefile
# BOOST_LIB = /usr/lib64
# BOOST_INC = /usr/include/boost
CC = g++
OPT = -O3
DEBUG = -g -Wall
CFLAGS = $(DEBUG)
TARGET = boost.test
SRCS = boost.test.cpp
OBJS = boost.test.o
INCDIR = -I$(BOOST_INC)
.SUFFIXES: .cc .cpp .o .x
$(TARGET): $(OBJS)
$(CC) -o $@ $(OBJS) $(BOOST_LIB)/libboost_regex.a 2>&1...
.cpp.o:
$(CC) $(CFLAGS) $(INCDIR) -c $<
.cc.o:
$(CC) $(CFLAGS) $(INCDIR) -c $<
clean:
終了行:
[[Programming]]
//g++ boostSample.cpp -lboost_regex
#include <iostream>
#include <string>
#include <locale>
#include <boost/regex.hpp>
using namespace std;
int main()
{
locale::global(locale("ja_JP.UTF-8"));//必須
wcout.imbue(std::locale("ja_JP.UTF-8"));//必須
wcin.imbue(std::locale("ja_JP.UTF-8"));//必須
// VC7(windows) 用には
// wcout.imbue(std::locale("japanese"));
// wcin.imbue(std::locale("japanese"));
// setlocale(LC_CTYPE, "") というして方法もある
boost::wregex target(L"(.)れは");
wstring str = L"これはペンです。\
this is a park それは公園です。\
あれは本です。";
// 発見した箇所すべてを表示するための変数
//例えば VC7 では有効
// Linux euc terminalでは表示はされない
wstring::const_iterator it = str.begin(), end = str.end...
while(it != end){
boost::wsmatch result;
// typedef match_results wsmatch; として定義されている
//http://boost.cppll.jp/HEAD/libs/regex/doc/match_result...
if(!boost::regex_search(it, end, result, target))
break;
wcout << result.str() << endl;
it = result[0].second;
}
return 0;
}
Makefile
# BOOST_LIB = /usr/lib64
# BOOST_INC = /usr/include/boost
CC = g++
OPT = -O3
DEBUG = -g -Wall
CFLAGS = $(DEBUG)
TARGET = boost.test
SRCS = boost.test.cpp
OBJS = boost.test.o
INCDIR = -I$(BOOST_INC)
.SUFFIXES: .cc .cpp .o .x
$(TARGET): $(OBJS)
$(CC) -o $@ $(OBJS) $(BOOST_LIB)/libboost_regex.a 2>&1...
.cpp.o:
$(CC) $(CFLAGS) $(INCDIR) -c $<
.cc.o:
$(CC) $(CFLAGS) $(INCDIR) -c $<
clean:
ページ名: