Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
Cómo obtener el patrón exacto que tiene una palabra específica usando Regex en javascript

Tengo una pregunta para ti. Escribo expresiones regulares simples pero no funcionó de la manera que yo quiero.

Mi expresión regular:

 /^\bname\b="([^"]*)"$/

Pero no funcionó. Así que decidí cambiar esa expresión regular a esto:

 /name="([^"]*)"$/

esto está perfectamente bien para mí cuando solo tengo un caso de fósforo. En otras palabras, esto funciona bien en este caso:

 let my_case = 'Content-Disposition: form-data; name="body"'; let result = my_case.match(/name="([^"]*)"$/); console.log(result);

pero cuando cambio la cadena de mayúsculas y minúsculas para que me guste esto:

 let my_case = 'Content-Disposition: form-data; name="relatedFile"; filename="article_217605.pdf"'; let result = my_case.match(/name="([^"]*)"$/); console.log(result);

El resultado será como:

 [ 'name="article_217605.pdf"', 'article_217605.pdf', index: 24, input: 'name="relatedFile"; filename="article_217605.pdf"', groups: undefined ]

No quiero esto en realidad. Quiero obtener (name="relatedFile") ¿cómo obtener esto en este caso? ¡Por favor ayúdame!

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

El patrón ^\bname\b="([^"]*)"$ no coincide, ya que establece el inicio y el final de la cadena. En un patrón como este, los límites de las palabras \b también están implícitos y se pueden omitido del patrón.

Este patrón que probó name="([^"]*)"$ permitirá una coincidencia parcial que comienza con el nombre y luego solo coincidirá, ya que puede afirmar el final de la cadena y le dará una coincidencia incorrecta.

Si comenzara ese patrón con un límite de palabra, aún no habrá coincidencia porque ya no permitirá una coincidencia parcial.

Puede comenzar la coincidencia con un límite de palabra y luego capturar en el grupo 1 el valor entre comillas dobles sin usar ninguna de las otras anclas.

 \bname="([^"]*)"

Vea el partido en regex101 .

about 4 years ago · Juan Pablo Isaza Denunciar

0

  • Ya que es una cadena
  • En lugar de expresiones regulares, puede dividir y asignar elementos para este caso

 let somecase = 'Content-Disposition: form-data; name="relatedFile"; filename="article_217605.pdf"'; let res = somecase.split(";").map(ele => ele)[1]; console.log(res)

  • Uso de expresiones regulares

 let somecase = 'Content-Disposition: form-data; name="relatedFile"; filename="article_217605.pdf"'; let res = somecase.split(";").find(ele => /name=.*/g.test(ele)); console.log(res)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Obtuve exactamente la respuesta correcta. Por cierto, gracias por responder a mi pregunta @El cuarto pájaro.

Su respuesta es:

 /\bname="[^"]*"/

Pero no funciona bien porque el resultado no me pudo dar el valor del nombre. Así que lo cambio un poco.

La respuesta perfecta correcta es:

 /\bname="([^"]*)"/

¡gracias chicos! Realmente lo aprecio.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda