Converting perl regex to sed regex

I am having trouble parsing rpm filenames in a shell script.. I found a snippet of perl code that will perform the task but I really don't have time to rewrite the entire script in perl. I cannot for the life of me convert this code into something sed-friendly:

if ($rpm =~ /([a-zA-Z0-9_\-\+]*)-([a-zA-Z0-9_\.]*)-([a-zA-Z0-9_\.]*)\.(.*)/) {
        my $name = $1;
        my $version = $2;
        my $release = $3;
        my $arch = $4;

        ...your code here...

}

(note this is originally from linux engineer's blog and the author states you could simply add "\" before the parens but this still won't work for me.

What would you do?
Any advice is would greatly appreciated. Thank you in advance.
sun

# echo "ksh93-1.1-3.i386.rpm" | sed 's/\(.*\)-\(.*\)-\(.*\)\.\(.*\)\.rpm/name->\1\nversion->\2\nrelease->\3\narc->\4/'
name->ksh93
version->1.1
release->3
arc->i386