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

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

···

On Sun, Oct 17, 2010 at 8:46 AM, 冷雨 <raincolee@gmail.com> wrote:
------------------------------------------------------------------------------
  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.

···

On Sun, Oct 17, 2010 at 10:42 AM, botp <botpena@gmail.com> wrote:

On Sun, Oct 17, 2010 at 8:46 AM, 冷雨 <raincolee@gmail.com> 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.
....