ho questo semplice regex per prendere l'ultima istanza di 'girare a 123' in una forma (ho un altro regex per il corpo principale):Javascript regex non corrispondenti ultimo carattere in forma
currenttext=currenttext.replace(/([^>])(turn\s+to\s+)(\d+)$/i,"$1<tt ref=\"$3\">$2$3</tt>");
che per esempio sostituti girare a 123 ... con
<tt ref="123">turn to 123</tt>...
... in ingresso forma viva. Tuttavia funziona solo se c'è una qualche forma di carattere dopo il il numero 123, che si tratti di un ritorno a capo o di un carattere visibile, che non riesco a capire dal momento che l'ancoraggio $ end non ha altro carattere prima del modello di memoria per le cifre numeriche. Senza un carattere successivo ottengo questo risultato:
<tt ref="12">turn to 12</tt>3
, cioè non riesce a catturare completamente l'ultima cifra. Ho provato a mettere l'ancora $ all'interno della memoria paren ma non ho fatto alcuna differenza.
In quale browser? Funziona per me, sotto nodo, Chromium e Firefox. –
Non riesco a replicare questo comportamento, funziona in regexr: http://regexr.com?3031a –
Non riesco a riprodurre questo. Eseguendo il seguente codice in una console javascript '" foo turn to 123 ".replace (/ ([^>]) (gira \ s + a \ s +) (\ d +) $/i," $ 1 $ 2 $ 3"); 'restituisce' "foo vai a 123" '. Potresti pubblicare il codice che causa il problema. –