# Ersetzen mit regulärem Ausdruck

**URL:** https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024
**Category:** Allgemein
**Created:** [January 30, 2012, 11:37am UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024 "2012-01-30T11:37:23Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)
#### Post date: [January 30, 2012, 11:37am UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024/1 "2012-01-30T11:37:23Z")

</div>

Ich möchte folgendes umbenennen:  
Auf der Suche nach der verlorenen Zeit 1, CD In Swanns Welt 02  
Auf der Suche nach der verlorenen Zeit 2, CD Im Schatten junger Mädchenblüte 21  
Auf der Suche nach der verlorenen Zeit 5, CD Die Gefangene 01  
...

Die Zahl vor dem Komma ist immer einstellig.  
Nach dem Komma steht immer " CD "  
Die Zahl am Ende ist immer zweistellig.  
Der Text nach "CD " ist verschieden lang.

Es soll werden:  
Auf der Suche nach der verlorenen Zeit 1, CD 02 In Swanns Welt  
Auf der Suche nach der verlorenen Zeit 2, CD 21 Im Schatten junger Mädchenblüte  
Auf der Suche nach der verlorenen Zeit 5, CD 01 Die Gefangene  
...

Ich habe folgendes ersucht:  
Ersetzen mit regulärem Ausdruck  
(.+) CD (.+) ($a{2})  
Treffer ersetzen durch:  
$1 CD $3 $2

Leider ohne Erfolg. Wer weiss Rat?

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [January 30, 2012, 12:01pm UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024/2 "2012-01-30T12:01:36Z")

</div>

Ersetzen mit regulärem Ausdruck  
(\d, CD) (.+) (\d\d)  
Treffer ersetzen durch:  
$1 $3 $2

Was bedeutet denn $a in deinem Versuch?

---

<div class="post-metadata">

### Author: ![anon40879270](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/a/8797f3/32.png) [@anon40879270](https://community.mp3tag.de/u/anon40879270)
#### Post date: [January 30, 2012, 2:28pm UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024/3 "2012-01-30T14:28:15Z")

</div>

> [@pone](#):
>
> Was bedeutet denn $a in deinem Versuch?

Aus der Hilfe habe ich ...  
Anfang / Ende  
^ matched den Anfang eines Strings  
$ matched das Ende eines Strings  
und ...  
Wiederholungen

- beliebig oft (auch 0x)

- einmal oder mehrfach  
? keinmal oder einmal  
a{n} a genau n-mal wiederholt  
... aber ich habe die "regulären Ausdrücke" nicht wirklich verstanden.

Ich wollte mit ($a{2}) die letzten beiden Zeichen markieren.

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [January 30, 2012, 3:00pm UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024/4 "2012-01-30T15:00:33Z")

</div>

> [@mbaa3](#):
>
> a{n} a genau n-mal wiederholt
> 
> Ich wollte mit ($a{2}) die letzten beiden Zeichen makieren.

ach so. **a** ist dabei aber nur Beispiel für einen String. Der reguläre Ausdruck für ein Ziffer ist **\d**.  
Du hättest also **(\d{2})** nehmen müssen, dann hätte deine Lösung auch funktionieren müssen.  
**\d{2}** ist das gleiche wie **\d\d** in meiner Lösung oben.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [January 30, 2012, 3:01pm UTC](https://community.mp3tag.de/t/ersetzen-mit-regularem-ausdruck/13024/5 "2012-01-30T15:01:13Z")

</div>

> [@mbaa3](#):
>
> Ich wollte mit ($a{2}) die letzten beiden Zeichen makieren.

Das ^ und das $ sind jeweils als Begrenzer eines Strings zu verstehen:  
Das ^ markiert wirklich den Anfang und das $ das Ende. Mit diesen Steuerzeichen würde der folgende Satz wie folgt aussehen:  
^Dies ist ein Beispiel$  
Vor dem ^ und nach dem $ kommt nichts mehr.  
Das $ müsste also immer am Ende eines Ausdrucks stehen.
