0

Buen día, tengo un problema, estoy trabajando con JavaScript, tengo una funcion que recorre un array, pero necesito que encuentre coincidencias dentro del array por ejemplo que dentro del texto "Carlos Daniel Zárate Ramírez" encuentre "Carlos Zarate", que imite la función like de SQL, en SQL solo basta hacer like '%Carlos%Zarate%', investigando encontré que se puede hacer con expresiones regulaes, pero aún no lo he logrado. Espero me puedan ayudar. Muchas gracias.

  • 2
    En una expresión regular, el `.` singifica "cualquier caracter" (pero solo uno) y el `*` significa "cualquier número de repeticiones del carácter antes mencionado". Por tanto `.*` viene a ser el comodín. En tu caso`".*Carlos.*Zarate.*` Cuidado que "cualquier numero de repeticiones" implica también cero, por lo que `"CarlosZarate"` sería aceptado. – abulafia Dec 14 '18 at 16:58
  • 1
    @abulafia, quizás podrías agregarlo como respuesta para que la pregunta pueda tener su respuesta aceptada o quizás se pueda marcar como duplicado de alguna otra como https://es.stackoverflow.com/questions/223553/qu%c3%a9-significa-esta-expresi%c3%b3n-regular-referencia-de-expresiones-regulares – Julio Jan 02 '19 at 14:30

1 Answers1

1

En una expresión regular, el punto . significa "cualquier caracter" (pero solo uno) y el asterisco * significa "cualquier número de repeticiones del carácter antes mencionado".

Por tanto .* viene a ser el comodín. En tu caso .*Carlos.*Zarate.* Cuidado que "cualquier numero de repeticiones" implica también cero, por lo que "CarlosZarate" sería aceptado. Si quieres que exista al menos un carácter entre "Carlos" y "Zarate" puedes usar .*Carlos.+Zarate.*, ya que + significa "una o más repeticiones del carácter anterior.

abulafia
  • 53,696
  • 3
  • 45
  • 80