# \[X\] Fehler in der Funktion $regexp()

**URL:** https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433
**Category:** Fehlermeldungen
**Created:** [May 13, 2010, 9:46am UTC](https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433 "2010-05-13T09:46:40Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![cws](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/e495f1/32.png) [@cws](https://community.mp3tag.de/u/cws)
#### Post date: [May 13, 2010, 9:46am UTC](https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433/1 "2010-05-13T09:46:40Z")

</div>

**Guten Tag, liebe MP3tag-Gemeinde !** 

ich bin frischgebackenes Forums-Mitglied und bin auf den MP3tag (leider) erst vor 2 Wochen gestoßen. Es ist ein tolles Programm, das der eigenen Kreativität kaum Grenzen setzt. Jedoch ist nichts so gut, daß es nicht verbesserungswürdig wäre. Daher beginne ich gleich mal mit einem kleinen Fehler-Report (sollte sich doch ausmerzen lassen ?!):

 

Im Help-Text steht unter der Überschrift "Replace with regular expression" folgendes:

 

Literals  
All characters except ".", "|", "\*", "?", "+", "(", ")", "{", "}", "[", "]", "^", "$".  
These characters are literals when preceded by a "".

 

Demnach sollte sich die eckige Klammer als **[** literalisieren lassen. Das folgende Beispiel zeigt, daß dies zwar für geschweifte Klammern gilt, aber nicht für eckige:

 

Script:  
$regexp('{'Text'}',{|},)  
Resultat:  
Text

 

Script:  
$regexp('['Text']',[|],)  
Resultat:  
REGEXP ERROR: Regular expression Escape sequence terminated prematurely. The error occured while parsing the regular expression: '\>\>\>HERE\>\>\>'.

 

Dieser Fehler ist ärgerlich, da ich an vielen Stellen meiner Musiksammlung eckige Klammern benutzt habe.

---

<div class="post-metadata">

### Author: ![dano](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dano/32/6_2.png) [@dano](https://community.mp3tag.de/u/dano)
#### Post date: [May 13, 2010, 10:30am UTC](https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433/2 "2010-05-13T10:30:47Z")

</div>

So klappt es:  
$regexp('['Text']','[|]',)

---

<div class="post-metadata">

### Author: ![ci3nt](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/5daacb/32.png) [@ci3nt](https://community.mp3tag.de/u/ci3nt)
#### Post date: [May 13, 2010, 2:38pm UTC](https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433/3 "2010-05-13T14:38:40Z")

</div>

Wenn du reguläre Ausdrücke in der Aktion "Ersetzen mit regulärem Ausdruck" verwendest, ist das maskieren unnötig, aber bei $regexp() wird der Ausdruck ja noch von einem anderen Parser verarbeitet, der die eckigen Klammer gesondert interpretiert.

mfG  
gnor

---

<div class="post-metadata">

### Author: ![cws](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/c/e495f1/32.png) [@cws](https://community.mp3tag.de/u/cws)
#### Post date: [May 13, 2010, 9:55pm UTC](https://community.mp3tag.de/t/x-fehler-in-der-funktion-regexp/10433/4 "2010-05-13T21:55:53Z")

</div>

Danke für den Tipp !

Ich hatte vergessen, daß alle String-Parameter von Script-Funktionen noch durch einen Vor-Parser laufen. Ich werde künftig Strings komplett zwischen Apostrophe setzen.
