Jak podzielić ciąg zawierający zarówno separator, jak i separator Escaped?

Mój ogranicznik łańcucha to;. Ogranicznik jest zapisywany w łańcuchu jako\;. Na przykład.,

irb(main):018:0> s = "a;b;;d\\;e"
=> "a;b;;d\\;e"
irb(main):019:0> s.split(';')
=> ["a", "b", "", "d\\", "e"]

Czy ktoś mógłby zasugerować mi regex, więc wyjście split byłoby["a", "b", "", "d\\;e"]? Używam Ruby 1.8.7