私はDouglas Crockfords Javascript: The Good Partsを読んでいます。私はちょうど正規表現の章を終えました。この章では、彼にはJavaScriptの\b
、肯定先読み(?=)
と否定先読み(?!)
「ではない良い部分」JavaScript:良い部品;なぜ先読みは良くないのですか?
彼は\b
が良くないという理由は説明して呼び出します(これは、単語の境界発見のため\w
使用し、\w
は、いずれかの失敗しますユニコード文字を使用する言語)、それは私には非常に良い理由のようです。
残念ながら、肯定的および否定的な先読みがうまくいかない理由は除外されており、私はそれを思い付くことができません。 Mastering Regular Expressionsは先読みに付随する力を私に示しましたが(もちろん、それがもたらす問題についても説明しています)、「良い部分ではない」とは考えられません。
JavaScript(正の|否定)先読みまたは(正の|否定)先読みが一般的に「良くない」とみなされる理由を説明できる人はいますか?
私はその文章を読んだ瞬間、私はそれを見つけ出し、これを思い付いた。非常に奇妙なことに、彼が言うことはすべて完璧な意味であり、彼はほとんど常に、物事が「悪い」と言った理由を説明しています。 – Skilldrick
@Skilldrickに同意します。 Crockfordは、彼がこの本で作ったほぼすべての点について彼の推論を説明するのに本当に上手いですが、この場合、何も説明しません。私はあまりにも説明を見つけなかったのでグーグルで行き、ここで終わった。私は、肯定的/否定的な先読みは、彼らがどのように動作するか、不適切に使用されるとパフォーマンスに与える可能性のある潜在的な悪影響を理解している限り素晴らしいものです。 – Chev