1
我想弄清楚如何在C++中创建正则表达式。我想将从JavaScript传递到C++的字符串转换为正则表达式。Nodejs Addon - 将正则表达式字符串传递给C++
我有这样的:
std::regex re;
if (!args[1]->IsString()) {
Nan::ThrowTypeError("Second argument to 'replace-line' must be a string regular expression.");
return;
}
else{
v8::String::Utf8Value regexin(args[1]->ToString());
re(*regexin);
}
但这无法编译,与此错误:
../hello.cpp: In function ‘void Method(const v8::FunctionCallbackInfo<v8::Value>&)’:
../hello.cpp:50:16: error: no match for call to ‘(regex_t {aka re_pattern_buffer}) (char*)’
re(*regexin);
任何人知道我可以声明/创建一个regex
给这个v8::String
?
它为我编译(节点7.0.0,cmake-js 3.3.1)。另外,'regexin(val.As() - > GetSource())'也许更具表现力 –
pergy