Ich habe eine Menge von PCRE Regexes mit mehreren Rückverweisungen anwenden und Perl-Transformationen s/\/\/(\d+)/$1/s
in einer Node JS-App anwenden.Node JS PCRE regex und transformiert Unterstützung
Ich suchte herum und fand diese beiden Bibliotheken zu diesem Zweck:
https://github.com/mscdex/node-pcre (Regex Anwendung)
https://github.com/tokuhirom/node-perl (Perl-Stil verwandelt)
Ich habe viel von NPM Fehler bei der Installation immer dieser Module in Node v5.9.0.
Die Knoten-PCRE-Bibliothek hat ein issue, die die Bibliothek nicht mehr funktioniert nach NodeJS 0,10 Version sagt wegen in V8-API ändern
ich in Probleme bei der Installation für die Knoten-perl Bibliothek lief auch.
Gibt es eine Möglichkeit für mich, die Unterstützung für PCRE reguläre Ausdrücke zu bekommen und verwandelt sich in Knoten v5.9.0
Dank
EDIT: Einer der Kommentare war unten eine PCRE regex angeben, die versuchen, die am tut nicht in Javascript arbeiten. Hier ist das Beispiel:
var fs = require("fs");
var regex = '<input type=\"hidden\"\s*name=\"itemId\"\s*value=\"(?P<sku>[\w\-]+)\"[^<]*>.*?<SCRIPT LANGUAGE=\'JavaScript\'[^<]*>.*?(\g{sku}Matrix\s*\=.*?<\/SCRIPT>)';
var page = fs.readFileSync("./page.html");
var re = new RegExp(regex);
var matchStr = "";
matchStr = page.replace(re, function (match, $1) { return $1; });
console.log(matchStr);
Antwort
SyntaxError: Invalid regular expression: /<input type="hidden"s*name="itemId"s*value="(?P<sku>[w-]+)"[^<]*>.*?<SCRIPT LANGUAGE='JavaScript'[^<]*>.*?(g{sku}Matrixs*=.*?</SCRIPT>)/: Invalid group
at new RegExp (native)
at Object.<anonymous> (/home/user/project/abc.js:7:10)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:142:18)
at node.js:939:3
aus welchem Grund Javascript Regexes nicht ausreichen? –
Die Regexe wurden alle zuvor in PCRE geschrieben. Ich habe eine Notwendigkeit, wo ich sie in meiner App verwenden müssen –
Außer wenn diese Regexes spezielle PCRE-Funktionen verwenden, sollten die meisten von ihnen direkt mit der Javascript Regex-Engine arbeiten, und die anderen mit wenigen Änderungen. –