Замена chemform в вики - регулярное выражение
Не могли бы вы дать мне совет, я заменяю<chemform>
код из моей вики, который больше не используется ... Строки обычно такие простые:
<chemform>CH3COO-</chemform>
<chemform>Ba2+</chemform>
<chemform>H2CO3</chemform>
Мне нужно, чтобы они были заменены этими:
CH<sub>3</sub>COO<sup>-</sup>
Ba<sub>2</sub><sup>+</sup>
H<sub>2</sub>CO<sub>3</sub>
До сих пор я придумал это регулярное выражение дляИнструмент RegExr:
match: <chemform\b[^>]*>(\D*?)([0-9]*)(\D*?)(\D*?)([0-9]*)(\D*?)([-+]*?)</chemform>
replace: $1<sub>$2</sub>$3$4<sub>$5</sub>$6<sup>$7</sup>
Я знаю, что код ужасен, но пока он работает для меня, за исключением того факта, что он дает мне пустые строки, такие как<sub></sub>
:
<sub></sub>CH<sub>3</sub>COO<sup>-</sup>
<sub></sub>Ba<sub>2</sub><sup>+</sup>
H<sub>2</sub>CO<sub>3</sub><sup></sup>
Как я могу избавиться от них, не делая второй поиск замены? Большое спасибо!