我想用sub和sup标签代替化学式,例如C7 [2H] 5NaO2,得到结果:
C<sub>7</sub>[<sup>2</sup>H]<sub>5</sub>NaO<sub>2</sub>
标签内的数字可以是两位数字。到目前为止,我知道/(\ d +)/将匹配所有数字,而/ [(\ d +)/匹配[之后的数字,但我不知道如何将这两者结合起来。
答案 0 :(得分:0)
我会分两步完成。
首先,用sup
标记包围的相同数字替换前面带有字母的数字。
匹配:(?<=[A-Z])\d+
替换:<sup>\0</sup>
然后获取结果并将[
前面的数字替换为sub
标记所包围的相同数字:
匹配:(?<=\[)\d+
替换:<sub>\0</sub>