下のコードで、"addd"が残ってしまいます。
どこがおかしいでしょうか。

array = %w(aaa bbb accc addd aeee)
re = /a[abcde]+/
array.each_index{|i| array.delete_at(i) if array[i] =~ re}
p array

=>["bbb", "addd"]