我正在尝试在代码中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
.
谁能提供一些关于为什么的见解?谢谢!