Runde Klammern mit Inhalt entfernen

Hi,

wieder mal das Übliche (Regex Probleme) ;(

Ich möchte gerne runde Klammern und deren Inhalt entfernen (Dateiname, Titel und Interpret)

Der Inhalt der Klammern ist meist einer der 4 folgenden Sorten:

(aus "Rocky V")
("Aus Rocky V")

(from "Rocky V")
("From Rocky V")

vor und hinter den Klammern befindet sich in 99% aller Fälle ein Leerzeichen.
Der Inhalt sollte gegen ein Leerzeichen getauscht werden und es soll keine Rolle spielen ob das "aus" nur groß- oder kleingeschrieben ist. Das Gleiche gilt natürlich auch für das "from".

\s(.+)\s ist natürlich zu gierig, frisst also auch Inhalte die ohne aus oder from anfangen.

Könnte man das Ganze mit einem einzigen regulären Ausdruck erledigen (dann wohl übers Feld _ALL)?

Danke und Gruß,
highend

$regexp('abc (aus "Rocky V")def','^(.+?)\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*(.+?)$','$1 $2',1) $regexp('abc (from "Rocky V")def','^(.+?)\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*(.+?)$','$1 $2',1) $regexp('abc ("Aus Rocky V")def','^(.+?)\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*(.+?)$','$1 $2',1) $regexp('abc ("From Rocky V")def','^(.+?)\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*(.+?)$','$1 $2',1) Ergebnis in allen vier Fällen: 'abc def'

... oder so ...

$regexp('abc (aus "Rocky V")def','\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*',' ',1) $regexp('abc(from "Rocky V") def','\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*',' ',1) $regexp('abc ("Aus Rocky V")def','\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*',' ',1) $regexp('abc("From Rocky V") def','\s*(?:\("?(?:aus|from)\s+.+?"?\))\s*',' ',1) Ergebnis in allen vier Fällen: 'abc def'

DD.20110621.1757.CEST

Wenn man sich die Zeit nimmt, jedes einzelne Element der Regex zu verstehen (ok, es zu versuchen), dann sieht das eigentlich gar nicht so schlimm aus :wink:

Herzlichen Dank, DetlevD!

Gruß,
highend