I would be game to write up a proposal for this. When would you need this by to discuss w/ TC39?
Thanks for your consideration, Marc On Nov 12, 2010, at 5:04 PM, Brendan Eich <[email protected]> wrote: > On Nov 12, 2010, at 2:52 PM, Marc Harter wrote: > >> After considering all the breadth this discussion could take maybe it >> would be wise to just focus on one issue at a time. For me, the biggest >> missing feature is lookbehind. Its common to most languages >> implementing the Perl-RegExp-syntax, it is very useful when looking for >> patterns that follow or don't follow a particular pattern. I guess I'm >> confused why lookahead made it in but not lookbehind. > > This was 1998, Netscape 4 work I did in '97 was based on Perl 4(!), but we > proposed to ECMA TC39 TG1 (the JS group -- things were different then, > including capitalization) something based on Perl 5. We didn't get > everything, and we had to rationalize some obvious quirks. > > I don't remember lookbehind (which emerged in Perl 5.005 in July '98) being > left out on purpose. Waldemar may recall more, I'd handed him the JS keys > inside netscape.com to go do mozilla.org. > > If you are game to write a proposal or mini-spec (in the style of ES5 even), > let me know. I'll chat with other TC39'ers next week about this. > > /be > > >> What do people >> think about including this feature? >> >> Marc >> >> On Fri, 2010-11-12 at 16:20 -0600, Marc Harter wrote: >>> I will start out with a disclaimer. I have not read both ECMAScript >>> specifications for 3 and now 5, so I admit that I am not an expert in >>> the spec itself but as I user of JavaScript, I would like to get some >>> expert discussion over this topic as proposed enhancements to the >>> RegExp engine for Harmony. >>> >>> I will start with a list of lacking features in JS as compared to Perl >>> provided by (http://www.regular-expressions.info/javascript.html): >>> >>> * No \A or \Z anchors to match the start or end of the string. >>> Use a caret or dollar instead. >>> * Lookbehind is not supported at all. Lookahead is fully >>> supported. >>> * No atomic grouping or possessive quantifiers >>> * No Unicode support, except for matching single characters with >>> \uFFFF >>> * No named capturing groups. Use numbered capturing groups >>> instead. >>> * No mode modifiers to set matching options within the regular >>> expression. >>> * No conditionals. >>> * No regular expression comments. Describe your regular >>> expression with JavaScript // comments instead, outside the >>> regular expression string. >>> >>> I don't know if all of these "need" to be in the language but there >>> have been some that I have personally wanted to use: >>> >>> * Lookbehind! ECMAScript fully supports lookahead, why not >>> lookbehind? Seems like a big hole to me. >>> * Named capturing groups and comments (e.g. >>> http://xregexp.com/syntax/). Mostly I argue for this because >>> it makes RegExp matches more self-documenting. Regular >>> Expressions are already cryptic as it is. >>> >>> I do like some of the new flags proposed in >>> (http://xregexp.com/flags/) but personally haven't used them but maybe >>> that is something also for discussion. >>> >>> Marc Harter >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss > _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

