Substituir padrões que estão dentro de delimitadores usando uma chamada de expressão regular

Eu preciso cortar todas as ocorrências do padrão '-' que sãodentro aspas simples em cadeia longa (deixando intactas as que estão fora das aspas simples).

Existe uma forma de expressão regular de fazer isso? (usá-lo com um iterador da linguagem é OK).

Por exemplo, começando com

"xxxx rt / $ 'dfdf--fggh-dfgdfg' ghgh- dddd -- 'dfdf' ghh-g '--ggh--' vcbcvb"

Eu deveria acabar com:

"xxxx rt / $ 'dfdffggh-dfgdfg' ghgh- dddd -- 'dfdf' ghh-g 'ggh' vcbcvb"

Então estou procurando uma regex que possa ser executada nos seguintes idiomas, como mostrado

JavaScript input.replace (/ someregex / g, "")Preg_replace PHP ('/ someregex /', "", entrada)Python re.sub (r'someregex ', "", entrada)Ruby input.gsub (/ someregex /, "")