Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #17066

Re: Good use of bitwise NOT "~" or unnecessary obfuscation?

Path csiph.com!usenet.pasdenom.info!news.albasani.net!.POSTED!not-for-mail
From Stefan Weiss <krewecherl@gmail.com>
Newsgroups comp.lang.javascript
Subject Re: Good use of bitwise NOT "~" or unnecessary obfuscation?
Date Wed, 07 Nov 2012 22:13:31 +0100
Organization albasani.net
Lines 62
Message-ID <k7eitr$b68$2@news.albasani.net> (permalink)
References <50330d14-3a30-4885-9833-18c75717a04d@googlegroups.com> <XnsA0FF6988CAC95eejj99@194.109.133.133> <BMSdnRSFG8QIVA7NnZ2dnUVZ_vGdnZ2d@earthlink.com> <f7k798117mcgu610jd2i8ca98s770f9uc5@4ax.com> <Ceidnfe5X9M_dg7NnZ2dnUVZ_hWdnZ2d@earthlink.com> <32ld985i9rkvi86ul4eqiv1gsdhr78sd6g@4ax.com> <ZClAbbI$LBmQFw47@invalid.uk.co.demon.merlyn.invalid>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 7bit
X-Trace news.albasani.net 2dBdOake1eg/G5fk0A3QXIY5X6YbmFC3DBYP8pZi5XgyFYE9opN7yHTLqB9VPMVfh6r38XCUafcVSFEjZrq/6q7d+CvrSx6HsIymEnbEOaWDarmLw7ndeYq22McFUYtQ
NNTP-Posting-Date Wed, 7 Nov 2012 21:13:31 +0000 (UTC)
Injection-Info news.albasani.net; logging-data="jXUYXQtRuPVWoGG4xCxiZrR394y6HpRXScSujJ8g70IcQWJBSNN/09uy2YjAJfWPFs4mQii49nueYrY0CnsIBp8FavylzGTHhhpD5Cjb47v1y/8beK/I+X8a04Wet2P9"; mail-complaints-to="abuse@albasani.net"
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1
In-Reply-To <ZClAbbI$LBmQFw47@invalid.uk.co.demon.merlyn.invalid>
Cancel-Lock sha1:RiBVRv3ri5IVb9tV0Y7cY6b4p1c=
Xref csiph.com comp.lang.javascript:17066

Show key headers only | View raw


On 2012-11-05 20:26, Dr J R Stockton wrote:
> In comp.lang.javascript message <32ld985i9rkvi86ul4eqiv1gsdhr78sd6g@4ax.
> com>, Sun, 4 Nov 2012 21:52:07, Hans-Georg Michna <hans-
> georgNoEmailPlease@michna.com> posted:
> 
>>s = s.replace(/^\s+|\s+$/g, "");
>>
>>Is that easy to read? For me it is. It comes naturally. (:-)
>>This is JavaScript's trim function, by the way.
> 
> Since a literal space - Unicode 0020 - in a RegExp literal can always be
> represented as \s, and similarly for tab perhaps there should be a
> vari-ant form of the literal in which spaces and tabs are not
> significant.  In that form, expressions could be written with spaces to
> indicate their structure.  That one could be /^ \s+ | \s+ $/ for
> example.  The means of expressing the vari-ance is left as an exercise
> for the reader; maybe by using character "`" as the bounding delimiter.

Perl has a way to do that: the x modifier, which permits embedded
whitespace and even comments. For example, a simple formal date input
check like this -

    my $regex = qr/^\s*(\d{4})-(\d\d)-(\d\d)\s*$/;

- could be written like this:

    my $regex = qr/
        ^           # start of string

        \s*         # optional whitespace

        (           # start of first capturing group ($1 = year)
            \d{4}   # exactly four digits
        )           # end first group
        -
        (           # start second capturing group ($2 = month)
            \d\d    # exactly two digits
        )           # end second group
        -
        (           # start third capturing group ($3 = day)
            \d\d    # exactly two digits
        )           # end third group

        \s*         # optional whitespace

        $           # end of string
    /x;

That's overkill for such a simple regular expression, of course, but it
can dramatically improve readability for more complex patterns.

The x modifier has been proposed as a new feature for a future release
of the ECMAScript standard, but AFAIK there has been little progress on
that front lately.
http://wiki.ecmascript.org/doku.php?id=proposals:extend_regexps#x_flag

PCRE-based implementations usually also support the x modifier (for
example, PHP does). From what I read in this group, Thomas Lahn's
regexp.js apparently also supports it.


- stefan

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Good use of bitwise NOT "~" or unnecessary obfuscation? RobG <rgqld@iinet.net.au> - 2012-11-01 18:32 -0700
  Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Denis McMahon <denismfmcmahon@gmail.com> - 2012-11-02 06:14 +0000
    Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-02 02:28 -0700
  Re: Good use of bitwise NOT "~" or unnecessary obfuscation? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2012-11-02 10:22 +0100
    Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-02 10:37 +0100
    Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-02 06:25 -0700
      Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Asen Bozhilov <asen.bozhilov@gmail.com> - 2012-11-02 06:35 -0700
      Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2012-11-02 14:58 +0100
        Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-02 08:49 -0700
          Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2012-11-04 21:52 +0100
            Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-04 22:49 +0000
              Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2012-11-05 13:18 +0100
              Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Scott Sauyet <scott.sauyet@gmail.com> - 2012-11-06 06:48 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-06 15:04 +0000
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Gene Wirchenko <genew@ocis.net> - 2012-11-06 10:43 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Scott Sauyet <scott.sauyet@gmail.com> - 2012-11-06 11:22 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-06 12:16 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Scott Sauyet <scott.sauyet@gmail.com> - 2012-11-06 12:53 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2012-11-07 17:34 +0100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-07 23:21 +0100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2012-11-07 23:23 +0100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Gene Wirchenko <genew@ocis.net> - 2012-11-07 17:00 -0800
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2012-11-08 07:16 +0100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Dr J R Stockton <reply1245@merlyn.demon.co.uk.invalid> - 2012-11-07 17:50 +0000
            Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Dr J R Stockton <reply1245@merlyn.demon.co.uk.invalid> - 2012-11-05 19:26 +0000
              Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Stefan Weiss <krewecherl@gmail.com> - 2012-11-07 22:13 +0100
        Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Gene Wirchenko <genew@ocis.net> - 2012-11-02 09:51 -0700
      Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-02 18:41 +0100
        Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-02 12:30 -0700
          Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-02 20:33 +0000
            Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Hans-Georg Michna <hans-georgNoEmailPlease@michna.com> - 2012-11-04 21:57 +0100
              Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-04 22:44 +0000
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Andrew Poulos <ap_prog@hotmail.com> - 2012-11-05 15:41 +1100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Tim Streater <timstreater@greenbee.net> - 2012-11-05 09:07 +0000
          Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-02 22:10 +0100
            Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-02 15:22 -0700
              Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-03 10:19 +0100
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Patricia Shanahan <pats@acm.org> - 2012-11-03 13:05 -0700
                Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-03 21:39 +0100
        Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-11-03 12:26 +0100
  Re: Good use of bitwise NOT "~" or unnecessary obfuscation? "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2012-11-02 12:28 +0200
    Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Gene Wirchenko <genew@ocis.net> - 2012-11-02 10:00 -0700
  Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Asen Bozhilov <asen.bozhilov@gmail.com> - 2012-11-02 06:15 -0700
  Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Scott Sauyet <scott.sauyet@gmail.com> - 2012-11-06 06:32 -0800
    Re: Good use of bitwise NOT "~" or unnecessary obfuscation? RobG <rgqld@iinet.net.au> - 2012-11-06 18:23 -0800
      Re: Good use of bitwise NOT "~" or unnecessary obfuscation? Scott Sauyet <scott.sauyet@gmail.com> - 2012-11-07 11:22 -0800

csiph-web