2010-09-30 25 views

Respuesta

36
foo.replace(/,([^,]*)$/, ' and $1') 

utilizan el $ (fin de línea) de anclaje para darle su posición y buscar un patrón a la derecha de la coma índice que no incluye ningún comas más.

Editar:

lo anterior funciona exactamente de los requisitos definidos (aunque la cadena de reemplazo es arbitraria suelto), pero en base a las críticas de los comentarios debajo de la mejor refleja el espíritu del requisito original.

foo.replace(/,\s([^,]+)$/, ' and $1') 
+0

+1, probablemente sea mejor que usar '\ w' como splash, ya que es más inclusivo, ejemplo: http://jsbin.com/utedu/2 –

+0

Esto también coincide con' test1, test2, 'y produce' test1, test2 y 'por eso. También inserta un carácter de espacio redundante para la cadena de entrada original, porque olvida coincidir con el carácter de espacio después de ','. – splash

+1

@splash - ver edición. Estoy bastante seguro de que OP podría haber hecho esa modificación por sí mismo si el requisito es más detallado que el expresado, no quiero hacer presunciones sobre lo que la gente realmente quiso decir. – annakata

4
result = dialog.replace(/,\s(\w+)$/, " and $1"); 

$1 se refiere al primer grupo de captura (\w+) del partido.

+1

Ejemplo: http://jsbin.com/utedu –

+0

este wi Fallaré en cadenas como 'test-1, test-2, test-3', pero de nuevo estoy seguro de que el OP puede hacer esas adaptaciones por sí mismo. – annakata

+0

Así es @annakata. – splash

0

expresiones regulares patrón de búsqueda \ s ([^,] +) $

Line1: If not, sdsdsdsdsa sas ., sad, whaterver4 
Line2: If not, fs sadXD sad , ,sadXYZ!X 
Line3: If not d,,sds,, sasa sd a, sds, 23233 

búsqueda con patrones encuentra Línea 1: whaterver4 línea3: 23233

embargo doesnt encontrar Línea 2: sadXYZ! X
que solo le falta un espacio en blanco

Cuestiones relacionadas