Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #18075
| From | Stefan Weiss <krewecherl@gmail.com> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: ScreenName validation |
| Date | 2013-01-11 22:09 +0100 |
| Organization | albasani.net |
| Message-ID | <kcpv2o$epv$1@news.albasani.net> (permalink) |
| References | (1 earlier) <53ccd13b-a933-4bbc-ba0a-7061cc9064cd@4g2000yqv.googlegroups.com> <m28v807ec9.fsf@nntp.bednarz.nl> <r1que89eftmfejrieqstmo7bp1ra3e92rv@4ax.com> <m2hamnqzr4.fsf@nntp.bednarz.nl> <m2obgvii6g.fsf@nntp.bednarz.nl> |
On 2013-01-11 21:22, Eric Bednarz wrote:
> Eric Bednarz <bednarz@fahr-zur-hoelle.org> writes:
>
>> The only character that *must* to be escaped in a character class is the
>> escape character itself.
>
> While this is true in most modern regular expression implementations, I
> just realized that it is actually false in ECMAScript, which
> inexplicably features empty character classes, so a closing square
> bracket literal actually has to be escaped.
Could you give an example of when the literal ] character doesn't have
to be escaped in a character class?
The empty character class is supported in many (but not all) PCRE-like
regex implementations. It matches any character that belongs to the set
of no characters - in other words, it will never match. I'm not sure
where that would be useful. The inverse case, [^], matches any
character. It actually has a use, because it also matches newlines
(which are not matched by the "." special character).
In addition to "\", "]", and "-", some languages also require the regex
delimiter to be escaped in regex literals.
/[/]/.test("/") // true in ECMAScript
"/" =~ /[/]/ # syntax error in Perl
/[/]/.match("/") # syntax error in Ruby
preg_match("/[/]/", "/") // syntax error in PHP
ECMAScript is the odd one out here. For that reason, and because it can
mess up syntax highlighting, I'd also escape a slash in a character class.
> Except for JScript < 10. Them damn implementations of. :-)
JScript behaving differently from the rest? Shocking.
- stefan
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
ScreenName validation "Mel Smith" <med_cutout_syntel@aol.com> - 2013-01-08 10:44 -0700
Re: ScreenName validation Scott Sauyet <scott.sauyet@gmail.com> - 2013-01-08 11:02 -0800
Re: ScreenName validation "Mel Smith" <med_cutout_syntel@aol.com> - 2013-01-08 13:05 -0700
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-11 01:28 +0100
Re: ScreenName validation Jeff North <jnorthau@yahoo.com.au> - 2013-01-11 12:23 +1100
Re: ScreenName validation Stefan Weiss <krewecherl@gmail.com> - 2013-01-11 03:38 +0100
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-11 20:35 +0100
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-11 21:22 +0100
Re: ScreenName validation Stefan Weiss <krewecherl@gmail.com> - 2013-01-11 22:09 +0100
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-11 23:23 +0100
Re: ScreenName validation Stefan Weiss <krewecherl@gmail.com> - 2013-01-12 00:26 +0100
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-12 00:54 +0100
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-12 00:22 +0100
Re: ScreenName validation Scott Sauyet <scott.sauyet@gmail.com> - 2013-01-11 13:29 -0800
Re: ScreenName validation Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-01-12 02:31 +0100
csiph-web