Apart from Javascript\'s ^
and $
being equivalent to Ruby\'s \\A
and \\z
, what other subtle differences are there between
Features supported by Ruby, but not JavaScript:
\a
(bell)\e
(escape)\A
(start of string)\Z
(end of string, before final line break)\z
(end of string)\1
through \9
(?>regex)
(atomic group)\G
(start of match attempt)(?#comment)
#
starts a comment[:alpha:]
POSIX character class(?i)
(case insensitive) (JavaScript supports /i
only)(?s)
(dot matches newlines) (?m)(?m)
(^
and $
match at line breaks) (/m
only in JavaScript)(?x)
(free-spacing mode)(?-ismxn)
(turn off mode modifiers)(?ismxn:group)
(mode modifiers local to group)Features supported by JavaScript, but not Ruby:
\cA
through \cZ
(control character)\ca
through \cz
(control character)\u0000
through \uFFFF
(Unicode character)Source: