Doppelte Strings löschen

Hallo,

ich hab folgendes Problem beim Umbenennen der Tags.

Bei einigen Titel kommt es vor, dass Ausdrücke zweimal vorkommen. Das kann folgende Formen annehmen (meist im TITLE-TAG):

Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)

oder

Songtitel [irgendetwas]/irgendetwas

oder

Songtitel (irgendetwas) (irgendetwas)

wobei "irgendetwas" jeweils den gleichen String darstellt.

Ergebnis soll sein: Songtitel (irgendetwas)

Kann ich das mit RegEx so maskieren, dass

  1. Das Ersetzen nur dann zum Tragen kommt, wenn solch eine Formatierung vorliegt
  2. Titel, die ein "/" enthalten, ohne etwas zu wiederholen (z.B. Songtitel/anderer Teil vom Songtitel (irendetwas)) nicht umgewandelt werden

Probiert habe ich schon
(.)/. --> $1 wandelt auch Titel aus 2. um

Kann man sich wiederholende Strings irgendwie maskieren und so eine Wiederholung ausschließen?

So auf die Schnelle würde ich es mit drei regulären Ausdrücken machen, jeweils passend für den speziellen Fall:

1.1.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)','^(.+?) \((.+?)\) \(.+?\)\/\(.+?\)$',$1 ($2),0)
oder
1.2.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)',' (.+?)\/\1$',,0)
oder
1.3.
$regexp('Songtitel (irgendetwas) (irgendetwas)/(irgendetwas)','(\(.+?\)) \1\/\1',$1,0)

2.
$regexp('Songtitel [irgendetwas]/irgendetwas','^(.+?) \[(.+?)\]/.+?$',$1 ($2),0)
oder
2.2.
$regexp('Songtitel [irgendetwas]/irgendetwas','\[(.+?)\]/\1',($1),0)

3.1.
$regexp('Songtitel (irgendetwas) (irgendetwas)','^(.+?) \((.+?)\) \(.+?\)$',$1 ($2),0)
oder
3.2.
$regexp('Songtitel (irgendetwas) (irgendetwas)','^(.+?) (.+?) \2$',$1 $2,0)
oder
3.3.
$regexp('Songtitel (irgendetwas) (irgendetwas)','(\(.+?\)) \1',$1,0)

Ergebnis in allen Fällen: 
Songtitel (irgendetwas)

DD.20090210.1521.CET

Ich danke Dir, werds gleich mal ausprobieren...