Votre premier func a presque raison. Supprimez simplement le drapeau «g» qui signifie «global» (modifier) et donnez-lui du contexte pour repérer le deuxième «r».
Edit: je n'ai pas vu que c'était le deuxième 'r' avant, alors j'ai ajouté le '/'. Nécessite \ / pour échapper au '/' lors de l'utilisation d'un argument regEx. Merci pour les votes positifs, mais j'avais tort, donc je vais corriger et ajouter plus de détails pour les personnes intéressées à mieux comprendre les bases de regEx, mais cela fonctionnerait:
mystring.replace(/\/r/, '/')
Maintenant pour l'explication excessive:
Lors de la lecture / écriture d'un modèle regEx, pensez en termes de: <un caractère ou un ensemble de caractères> suivi de <un caractère ou un ensemble de caractères> suivi de <...
Dans regEx, <un caractère ou un ensemble de caractères> peut être un à la fois:
/each char in this pattern/
Donc, lisez e, suivi de a, suivi de c, etc ...
Ou un seul <un caractère ou un ensemble de caractères> pourrait être des caractères décrits par une classe de caractères:
/[123!y]/
//any one of these
/[^123!y]/
//anything but one of the chars following '^' (very useful/performance enhancing btw)
Ou développé pour correspondre à une quantité de caractères (mais il est préférable de le considérer comme un élément unique en termes de modèle séquentiel):
/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)
Alors smoosh un tas ensemble:
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"]
Et bien sûr, j'ai trop élaboré, mais mon point était simplement que ceci:
/cat/
est une série de 3 éléments de motif (une chose suivie d'une chose suivie d'une chose).
Et c'est ainsi:
/[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/
Aussi farfelu que regEx commence à paraître, tout se décompose en séries de choses (des choses potentiellement multi-caractères) se succédant séquentiellement. Une sorte de point de base, mais qui m'a pris un certain temps pour passer, donc je suis allé trop loin pour l'expliquer ici car je pense que c'est un point qui aiderait l'OP et d'autres nouveaux à regEx à comprendre ce qui se passe. La clé pour lire / écrire regEx est de le décomposer en ces morceaux.