我们今天缺少它是否有任何充分的理由,如果是这样,它是否可以解决?或者它是否会像其中一个会破坏向后兼容性的东西?
答案 0 :(得分:19)
我从2010年发现mailing-list thread关于这个问题。
显然,当开发EcmaScript 3时,他们看向Perl 用于regexp功能。 Waldemar Horwat写了关于为什么要看后卫的文章 没有添加到该标准中:
ES3规范基于当时的稳定性。 Perl有 我一直在试用regexp中的其他结构,但确实如此 那里有一些流失,我不想去找那些功能 仍在不断变化。
后来在线程中,Marc Harter创建a proposal进行添加 这个功能。
讨论的其余部分是关于该的具体细节 提案;没有任何理由反对包括它在下一个 标准。
不幸的是,讨论在没有决议的情况下结束了。有一个 EcmaScript和谐维基上的页面,但它只是链接到 提案和邮件列表主题。
所以似乎没有明显的理由反对添加lookbehind JavaScript regexp的功能。但是,似乎也有 没有更多的活动朝添加它们 - 我怀疑 开发人员和语言设计人员因更大的变化而分心 他们正在计划ES 6。
我认为你现在最好的选择就是把话题提上 es再次讨论邮件列表。我不知道确切的政策 特别是那个名单,但我怀疑人们至少会好起来的 再说一遍;也许有人甚至会努力 将观察支持纳入下一个标准。
答案 1 :(得分:4)
Lookbehinds(以及命名的捕获组)是proposed to be added to ECMAScript。
目前有一份规范草案,TC39小组对该提案似乎是肯定的,Chrome has already implemented it(在旗帜后面)和Firefox may follow soon。还有request to uplift the proposal to the next stage。
答案 2 :(得分:0)
ES6 Spec现已定稿(2015年6月),不幸的是它似乎没有成功! :(
答案 3 :(得分:0)
一些好消息:v8获得了js lookbehind:http://v8project.blogspot.in/2016/02/regexp-lookbehind-assertions.html
这已经进入了nodejs v6.0.0 +(在--harmony标志后面): https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V6.md#2016-04-26-version-600-current-jasnell