From: janko.marohnic@... Date: 2015-03-29T14:51:57+00:00 Subject: [ruby-core:68675] [Ruby trunk - Bug #11014] [Open] String#partition doesn't return correct result on zero-width match Issue #11014 has been reported by Janko Marohni��. ---------------------------------------- Bug #11014: String#partition doesn't return correct result on zero-width match https://bugs.ruby-lang.org/issues/11014 * Author: Janko Marohni�� * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- First, to see how String#match works on my example: ~~~ match = "foo".match(/^=*/) match.pre_match #=> "" match[0] #=> "" match.post_match #=> "foo" ~~~ Now, if I used String#partition instead of match, I'd expect to get `["", "", "foo"]` (pre_match, match, post_match). However ~~~ "foo".partition(/^=*/) #=> ["foo", "", ""] ~~~ String#rpartition returns the correct result (with the same regex). -- https://bugs.ruby-lang.org/