Ich versuche herauszufinden, wie man einen regulären Ausdruck in C++ erstellen. Ich möchte eine Zeichenfolge, die von JavaScript an C++ übergeben wird, in einen regulären Ausdruck umwandeln.Nodejs Addon - übergeben Regex-Zeichenfolge an C++
Ich habe dies:
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);
}
aber nicht kompilieren, mit diesem Fehler:
../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);
jemand weiß, wie ich erklären kann/erstellen regex
diese v8::String
gegeben?
Es kompiliert für mich (Knoten 7.0.0, cmake-js 3.3.1). Außerdem ist 'regexin (val.As() -> GetSource())' vielleicht expressiver –
pergy