La prima funzione è quasi corretta.Basta rimuovere il flag "g" che sta per "global" (modifica) e dargli un contesto per individuare la seconda "r".
Modifica: non ha visto che era la seconda 'r' prima quindi aggiunto il '/'. È necessario \/per uscire da '/' quando si utilizza un argomento regEx. Grazie per i upvotes ma mi sbagliavo quindi mi preparo e aggiungere ulteriori dettagli per le persone interessate a comprendere i principi fondamentali di espressione regolare meglio, ma questo dovrebbe funzionare:
mystring.replace(/\/r/, '/')
Ora per la spiegazione eccessiva:
Durante la lettura/scrittura di un modello di regEx pensare in termini di: < un carattere o un insieme di charcters > seguita da < un carattere o un insieme di charcters > seguita da < ...
in regEx < un carattere o un insieme di charcters > potrebbe essere una alla volta:
/each char in this pattern/
modo di leggere come e, seguito da una, seguita da c, ecc ...
o un singolo < un personaggio o set di charcters > potrebbe essere caratteri descritto 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 in modo che corrisponda una quantità di personaggi (ma ancora meglio a pensare come un unico elemento in termini di picchiettio sequenziale n):
/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)
Così 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 naturalmente ho elaborato troppo ma il mio punto era semplicemente che questo:
/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]+/
stravagante come RegEx comincia a guardare, tutto si esaurisce ad una serie di cose (potenzialmente le cose più caratteri) si susseguono in sequenza. Una specie di punto di base, ma che mi ha portato un po 'a passare oltre, quindi ho esagerato spiegandole qui perché penso che sia una cosa che aiuterebbe l'OP e altre novità a regEx a capire cosa sta succedendo. La chiave per leggere/scrivere regEx è scomposizione in quei pezzi.
Qual è il modello? Vuoi rimuovere il primo carattere dopo la barra? –
sostituire "r2002" con "2002" –
Does string.replaceAt ('r') sostituisce la prima istanza di 'r' nella stringa? – Kailas