我正在阅读 Douglas Crockfords Javascript: The Good Parts,我刚刚完成了正则表达式一章。在本章中,他称 JavaScript 的\b正向预读(?=)和负向预读(?!) “不是一个好部分”
他解释了\b不好的原因(它\w用于单词边界查找,并且\w对于任何使用 unicode 字符的语言都失败了),这对我来说似乎是一个很好的理由。
不幸的是,正负前瞻不好的原因被遗漏了,我想不出一个。掌握正则表达式向我展示了前瞻带来的强大功能(当然也解释了它带来的问题),但我真的想不出任何可以将其定性为“不好的部分”的东西。
谁能解释为什么 JavaScript (positive|negative) lookahead 或 (positive|negative) lookahead 一般应该被认为是“不好的”?