Это регулярное выражение возвращает все простые и вложенные химические формулы, например: O2, SO4, Al2(SO4)3.
Я хочу получить эти химические формулы и использовать их для написания программы для балансировки химических уравнений.
Теперь я хочу улучшить это регулярное выражение, чтобы оно могло разделять элементы и количества и поместите их в список или кортеж, например:
Код: Выделить всё
O2 -> ('O', 2)
SO4 -> (('S', 1), ('O', 4))
Al2(SO4)3 -> ((('Al', 2), ((('S', 1), ('O', 4)),3)), 1)
Если это невозможно, сообщите мне решение с помощью Python или скажите, есть ли у вас лучший способ упростить эти уравнения или решить их. их.
Я хочу, насколько это возможно, избегать использования библиотеки.
Подробнее здесь: https://stackoverflow.com/questions/783 ... with-regex