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

185
Vistas
¿Cómo puedo unir elementos atómicos y sus cantidades en expresiones regulares con Javascript?

Quería hacer una herramienta para analizar elementos atómicos a partir de una fórmula.

digamos que comencé con Ba(Co3Ti)2 + 3BrH20 Primero querría analizar cada compuesto en la fórmula, lo cual es bastante fácil con let regions = str.replace(/\s/g, '').split(/\+/g);

Ahora, para cada compuesto, quiero identificar cada elemento y su "cantidad" numérica, así que para el ejemplo anterior, para el primer compuesto, quiero una matriz como esta:

 [ "Ba", [ "Co3", "Ti" ], "2" ]

y si no es posible encontrar subcompuestos entre paréntesis, entonces podría trabajar con esto:

 [ "Ba", "(Co3", "Ti)", "2" ]

¿Es esto posible con expresiones regulares? Esto es lo que se me ocurrió en unos minutos..

 let compounds = str.replace(/\s/g, '').split(/\+/g); for (var r = 0; r < compounds.length; ++r) { let elements = compounds[r] }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puedes usar

 str.match(/\(?(?:[AZ][az]*\d*|\d+)\)?/g)

Vea la demostración de expresiones regulares . Detalles :

  • \(? - un opcional (
  • (?:[AZ][az]*\d*|\d+) - cualquiera de las dos opciones:
    • [AZ][az]*\d* - una letra mayúscula, luego cero o más letras minúsculas y luego cero o más dígitos
    • | - o
    • \d+ - uno o más dígitos
  • \)? - un opcional ) .

Vea una demostración de JavaScript:

 const str = 'Ba(Co3Ti)2'; const re = /\(?(?:[AZ][az]*\d*|\d+)\)?/g; let compounds = str.match(re); console.log(compounds);

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