JavaScript:好的部分;为什么前瞻不好?

标签 javascript regex regex-lookarounds

我正在阅读 Douglas Crockfords Javascript: The Good Parts ,我刚刚完成了正则表达式章节。在本章中,他称 JavaScript 的 \b、positive lookahead (?=) 和 negative lookahead (?!) “不是一个好东西部分”

他解释了 \b 不好的原因(它使用 \w 进行词边界查找,而 \w 对任何使用 unicode 字符的语言),这对我来说是一个很好的理由。

不幸的是,正面和负面前瞻性不好的原因被排除在外,我也想不出一个。 Mastering Regular Expressions向我展示了 lookahead 的强大功能(当然还解释了它带来的问题),但我真的想不出有什么可以将它称为“不好的部分”。

谁能解释为什么 JavaScript(正|负)前瞻或(正|负)前瞻一般应被视为“不好”?

看来我不是唯一有这个问题的人:onetwo .

最佳答案

可能是因为 Internet Explorer 的 perpetually buggy implementation of lookaheads .对于撰写有关 JavaScript 的书籍的任何人来说,任何在 IE 中无法使用的功能都可能不存在。

关于JavaScript:好的部分;为什么前瞻不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1843459/

相关文章:

php - 如何在 Laravel 5.4 中验证文件名

php -++ 和 **+ 是什么意思?

javascript - Google Calendar JavaScript api,将用户添加到具有 "write"访问权限的日历

javascript - 为什么不使用 splice with spread operator 从 react 中的数组中删除项目?

MySQL REGEXP 匹配带破折号的字符串,匹配没有破折号的字符串

javascript - REGEX - 链接与主题标签冲突

python - 用于忽略字符串中括号的正则表达式

c++ - 灵气序列解析问题

javascript - Angular 不显示输出

javascript - 动态地将 JavaScript 变量传递给 AngularJS 函数