C# regex: replace either of two matches with the same value
===

Trying to do some regex matching and replacement in a string, whereby all "&" "'" and spaces are replaced with dashes "-"

...and

all repeating dashes are replaced with a single dash.  

This is what I'm trying but it's not working, in that the repeating dashes aren't being substituted.  Any help is appreciated and thanks.

    Regex.Replace(mystring, "([' &])|([-]{2,})", "-")