Regulärer Ausdruck mp3Tag

fel1x.

Lt. Commander
Registriert
Apr. 2010
Beiträge
1.305
Hi,

ich habe von einem Lied viele Remixe, die alle in einem Ordner liegen (Artist -> Titelname -> Tracks).

Jetzt würde ich gerne mp3Tag sagen, dass er aus dem Titel-Tag den Dateinamen bildet.

Der Titel-Tag ist Titelname (Remixname), z. B. Alors on Dance (Extended Version).

Daraus lasse ich dann den Dateinamen generiern, z. B. 02. Alors on Dance (Extended Version).mp3

Wie kann ich mit einem regulären Ausdruck alles vor der Klammer "markieren", so dass er es mit "" ersetzen kann?
Quasi wäre das beim oben genanten Beispiel:
Suchen -> "Alors on Dance ("
Ersetzen -> ""

Gibt es für sowas einen regulären Ausdruck? :)

Vielen Dank im Vorraus.
 
Funktioniert leider nicht.

Was ich vergessen habe zu erwähnen: die Nummerierung soll erhalten bleiben

ist: 02. Alors on dance (Extended Version).mp3
soll: 02. Extended Version.mp3
 
Linux? Ich glaube, mit Perl müsste das so aussehen. Oder so ähnlich.

$dateiname =~ s/(.*)(\(.*\))/($2);

Okay, da hast du auch wieder das Problem mit der Nummerierung.

$dateiname =~ s/(\d*)\.\s?(.*)(\(.*\))/($1)\.($3);

Jetzt müsste es stimmen, glaube ich. Auch wenns aussieht, wie Beleidigungen bei Asterix
 
Zuletzt bearbeitet:
Laut Wikipedia ist das Programm mp3Tag in C++ geschrieben. :)

Mehr weiß ich leider nicht ;(
 
Das kenne ich doch irgendwoher, also kein Linux.

Wenn ich dich richtig verstanden habe, willst du folgendes:

Code:
ZifferZiffer. Vor_den_Klammern (Zwischen_den_Klammern).Dateiendung -> ZifferZiffer. Zwischen_den_Klammern.Dateiendung

oder?

Ich kenne reguläre Ausdrücke bisher nur von Perl, aber das müsste sich ja in mp3Tag bestimmt auch so realisieren lassen, oder?

Vielleicht irgendwie mit

Code:
$num(%track%,2)\. .* (.*)\.%_extension% -> $num(%track%,2). $2\.%_extension%

? Gegebenfalls die $2 durch $1 ersetzen.

Das ist jetzt etwas notdürftig mithilfe der Hilfe entstanden, da gibt's extra einen Unterpunkt "Ersetzen mit regulären Ausdrücken". Vielleicht hilft dir der? :)
 
Hi,

danke für eure schnelle und zur Uhrzeit späten Antworten :)

Die Lösung von Grantig funktioniert wunderbar :))

@Grantig: Weißt du wie man das ganze als Aktion reinprügelt?
Dort werden noch kleine Schreibkorrekturen gemacht, daher wärs gut, wenn man den Ausdruck zur Aktionsgruppe hinzufügen könnte.
Wenn nicht, dann nicht ... So ist es auch schon verdammt gut :))

Danke nochmals!

e// kleine Anpassung
Code:
$regexp(%title%,.*\((.*),$num(%track%,2). $1)

z
Damit ist das Leerzeichen ganz am Anfang weg und
die Nummerierung ist mit führender Null (01-02-03 statt 1-10-2-...)
 
Zuletzt bearbeitet:
Weißt du wie man das ganze als Aktion reinprügelt?
Einfach neue Aktion anlegen --> Tag Feld formatieren auswählen --> für Feld _FILENAME eintragen --> für Formatstring das RegEx.

Btw, du hast ne Klammer vergessen:
$regexp(%title%,.*\((.*)\),$num(%track%,2). $1)


Erstaunt mich immer wieder wie mächtig mp3Tag ist :)
 
Zuletzt bearbeitet:
Klappt leider beides nicht:

anja.png

adam.png
 
Anscheinend kommt mp3tag nicht mit \s (=beliebige whitespaces) im pattern klar.
Überflüssige whitespaces kannst du aber auch mit $trim loswerden.
Sieht dann so aus:

Anja Schneider:
Code:
$trim($regexp(%title%,.*-(.*?)-.*,$1))

Adam Beyer:
Code:
$trim($regexp(%title%,.*\|(.*),$1))
 
Vielen Dank klappt super! :)
Mit einer ähnlichen Syntax hatte ich es auch schon versucht aber es scheint am trim bzw. den whitespaces zu liegen...
 
Zurück
Oben