La tua prima funzione è quasi giusta. Basta rimuovere il flag 'g' che sta per 'global' (modifica) e dargli un po 'di contesto per individuare la seconda' r '.
Modifica: non ho visto che era la seconda 'r' prima, quindi ho aggiunto '/'. Deve \ / sfuggire a '/' quando si utilizza un arg regEx. Grazie per i voti positivi, ma ho sbagliato, quindi aggiusterò e aggiungerò maggiori dettagli per le persone interessate a comprendere meglio le basi di regEx, ma funzionerebbe:
mystring.replace(/\/r/, '/')
Ora per la spiegazione eccessiva:
Quando leggi / scrivi un modello regEx, pensa in termini di: <un carattere o set di caratteri> seguito da <un carattere o set di caratteri> seguito da <...
In regEx <un carattere o un set di caratteri> potrebbe essere uno alla volta:
/each char in this pattern/
Quindi leggi come e, seguito da a, seguito da c, ecc ...
Oppure un singolo <a carattere o set di caratteri> potrebbe essere rappresentato da una classe di caratteri:
/[123!y]/
//any one of these
/[^123!y]/
//anything but one of the chars following '^' (very useful/performance enhancing btw)
O espanso per abbinare una quantità di caratteri (ma è comunque meglio pensare a un singolo elemento in termini di modello sequenziale):
/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)
Quindi smoosh un mucchio insieme:
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"]
E ovviamente ho elaborato troppo ma il mio punto era semplicemente che:
/cat/
è una serie di 3 elementi del modello (una cosa seguita da una cosa seguita da una cosa).
E così è questo:
/[aA]{4,8}(Eat at Joes|Joes all you can eat)[0-5]+/
Per quanto bizzarro come regEx inizi a guardare, tutto si scompone in serie di cose (potenzialmente cose multi-carattere) che si susseguono in sequenza. Una specie di punto base, ma che mi ha richiesto un po 'di tempo per andare oltre, quindi ho esagerato spiegandolo qui perché penso che sia uno che aiuterebbe l'OP e gli altri nuovi regEx a capire cosa sta succedendo. La chiave per leggere / scrivere regEx è scomporla in quei pezzi.