Can't understand String#split's behavior

When I use ruby 1.8.7 I have a problem with String#split.

It’s fine:

p “bAbAbAb”.split(/A/)
[“b”, “b”, “b”, “b”]

But it cant work:

p “bAbAbAb”.split(/(A)/)
[“b”, “A”, “b”, “A”, “b”, “A”, “b”]

I think that /A/ and /(A)/ are almost equivalent, but why can’t I use
/(A)/
to split string?

-Lai

On Sun, Oct 17, 2010 at 8:46 AM, 冷雨 [email protected] wrote:

I think that /A/ and /(A)/ are almost equivalent,

almost

but why can’t I use /(A)/ to split string?

as documented, you can, but w a different behaviour/result for split

(from ruby core)
=== Implementation from String

str.split(pattern=$;, [limit]) → anArray


Divides str into substrings based on a delimiter, returning an array of
these substrings.

If pattern is a String, then its contents are used as the
delimiter when splitting str. If pattern is a single
space, str is split on whitespace, with leading whitespace and runs of
contiguous whitespace characters ignored.

If pattern is a Regexp, str is divided where the pattern
matches. Whenever the pattern matches a zero-length string, str is split
into individual characters. If pattern contains groups, the
respective matches will be returned in the array as well.
…

Sorry for my careless.
And thank you very match.