re
コード内で、C++内からPythonの正規表現パッケージを使用しようとしていboost.python
ます。これが私のC++アプリケーションのサンプルコードスニペットです:
#include <boost/python.hpp>
Py_Initialize();
object main = import("__main__");
object main_namespace = main.attr("__dict__");
object ignored = exec(
"import re\n"
"def run():\n"
" rmatch = re.search(r'\d',r'hello3')\n"
" print rmatch\n"
"\n"
"print 'main module loaded'\n", main_namespace);
object run_func = main.attr("run");
run_func();
Py_Finalize();
正規表現は、文字列内の数字を取得するだけhello3
です。この正確なコード行はPythonで機能しますが、埋め込みPythonではrmatch
常にNone
です。
誰かがその理由について何らかの洞察を提供できるでしょうか?ありがとう!