現在、スクリプトの 1 つを書き直していますが、理解できない問題に遭遇しました。command
は入力変数で、このテストを実行しました (どちらの正規表現も同じです)。
var parts = command.match(/([^\s"]+(?=\s*|$))|(".+?")/g);
console.log(command === "view -10 10 -10 10");
console.log(parts);
console.log(String("view -10 10 -10 10").match(/([^\s"]+(?=\s*|$))|(".+?")/g));
コンソールは今言う
true
[]
["view", "-10", "10", "-10", "10"]
これは私を完全に混乱させます。command
を使用してもテスト文字列と等しいのに、同じように分離されないのはなぜ===
ですか?