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

188
Vistas
Tome el segundo número y la palabra después de él usando expresiones regulares

tengo una cadena:

 str = "1 - hello world 1234 abc 5678 def"

Quiero tomar 1234 abc de la cadena.

Mi implementación actual str[/\d+\s*\D*$/] solo toma el último número con la palabra.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puedes usar

 str[/\d+\D+(\d+\s*\w+)/, 1] str[/\d+\D+\K\d+\s*\w+/]

Vea esta demostración de expresiones regulares y esta demostración de expresiones regulares #2 .

Aquí, solo se busca la primera coincidencia de expresiones regulares. Detalles :

  • \d+ - uno o más dígitos
  • \D+ - uno o más no dígitos
  • (\d+\s*\w+) - Grupo 1: uno o más dígitos, cero o más espacios en blanco y uno o más caracteres de palabra
  • \K : operador de reinicio de coincidencia que descarta todo el texto coincidente hasta el momento.

NOTA :

  • Si una "palabra" es un fragmento de caracteres que no son espacios en blanco, reemplace \w+ con \S+
  • Si desea admitir valores flotantes (números con partes fraccionarias), deberá reemplazar \d+ con \d*\.?\d+ o \d+(?:\.\d+)? patrones.

Aquí hay una prueba de Ruby :

 str = "1 - hello world 1234 abc 5678 def" puts str[/\d+\D+(\d+\s*\w+)/, 1] # => 1234 abc puts str[/\d+\D+\K\d+\s*\w+/] # => 1234 abc
over 4 years ago · Santiago Trujillo 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