Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda