0
JavaScriptファイル内の正規表現(/複雑な正規表現は/)を除算(/)と区別するために、Node .jsと1つずつ文字を歩いています。Node.jsを使用したJavaScriptファイルの正規表現と区切り
const fs = require('fs');
const buf = fs.readFileSync('sample.js');
const slash = '/'.codePointAt(0);
const backSlash = '\\'.codePointAt(0);
let escaped = false;
for(let key of buf.keys()) {
if(buf[key] === slash && !escaped) {
// How do I distinguish this slash? Is it a regex or is it a division sign?
}
if(escaped) {
escaped = false;
} else if(buf[key] === backSlash) {
escaped = true; // set escaped to true to ignore the next character.
}
}
は、ファイルにはコメントはありません理由は、そう私は約//
、/*
、または*/
を心配する必要はありません
私は除算記号と正規表現を区別する必要がありますどのように?
パーサーを使用するだけで簡単です(例:エスピリマ。 – gcampbell
acornやesprimaのようなパーサーライブラリを使用します。正規表現では決定的に問題ではありません。 – Kovensky