Ihr erster Funkspruch ist fast richtig. Entfernen Sie einfach das "g"-Flag, das für "global" (bearbeiten) steht, und geben Sie ihm etwas Kontext, um das zweite "r" zu erkennen.
Edit: Ich habe nicht gesehen, dass es das zweite 'r' war, also habe ich das '/' hinzugefügt. Benötigt \/, um das '/' zu entkommen, wenn ein regEx arg verwendet wird. Vielen Dank für die upvotes, aber ich war falsch, so dass ich zu beheben und fügen Sie mehr Details für Menschen, die in die Grundlagen der regEx besser zu verstehen, aber das würde funktionieren:
mystring.replace(/\/r/, '/')
Und nun die übertriebene Erklärung:
Wenn Sie ein regEx-Muster lesen/schreiben, denken Sie an Folgendes: <ein Zeichen oder eine Reihe von Zeichen>, gefolgt von <einem Zeichen oder einer Reihe von Zeichen>, gefolgt von <...
In regEx kann <ein Zeichen oder eine Menge von Zeichen> jeweils ein Zeichen sein:
/each char in this pattern/
Also lesen als e, gefolgt von a, gefolgt von c, usw...
Oder ein einzelnes <aZeichen oder eine Menge von Zeichen> könnten Zeichen sein, die durch eine Zeichenklasse beschrieben werden:
/[123!y]/
//any one of these
/[^123!y]/
//anything but one of the chars following '^' (very useful/performance enhancing btw)
Oder erweitert, um mit einer Menge von Zeichen übereinzustimmen (aber immer noch am besten als ein einzelnes Element in Bezug auf das sequentielle Muster zu betrachten):
/a{2}/
//precisely two 'a' chars - matches identically as /aa/ would
/[aA]{1,3}/
//1-3 matches of 'a' or 'A'
/[a-zA-Z]+/
//one or more matches of any letter in the alphabet upper and lower
//'-' denotes a sequence in a character class
/[0-9]*/
//0 to any number of matches of any decimal character (/\d*/ would also work)
Also zerknüllen Sie einen Haufen davon:
var rePattern = /[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/g
var joesStr = 'aaaAAAaaEat at Joes123454321 or maybe aAaAJoes all you can eat098765';
joesStr.match(rePattern);
//returns ["aaaAAAaaEat at Joes123454321", "aAaAJoes all you can eat0"]
//without the 'g' after the closing '/' it would just stop at the first match and return:
//["aaaAAAaaEat at Joes123454321"]
Und natürlich habe ich zu sehr ins Detail gegangen, aber ich wollte damit nur sagen, dass dies:
/cat/
ist eine Reihe von 3 Musterelementen (ein Ding gefolgt von einem Ding gefolgt von einem Ding).
Das gilt auch für das hier:
/[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/
So verrückt regEx auch aussehen mag, es besteht aus einer Reihe von Dingen (die möglicherweise aus mehreren Zeichen bestehen), die nacheinander folgen. Das ist ein grundlegender Punkt, aber es hat eine Weile gedauert, bis ich ihn verstanden habe, deshalb habe ich ihn hier ausführlich erklärt, da ich denke, dass er dem OP und anderen, die neu in regEx sind, helfen würde, zu verstehen, was vor sich geht. Der Schlüssel zum Lesen/Schreiben von regEx ist, es in diese Teile zu zerlegen.