【发布时间】:2018-05-25 08:48:23
【问题描述】:
我想将 sub 和 sup 标签替换为化学式,例如 C7[2H]5NaO2,并得到如下结果:
C<sub>7</sub>[<sup>2</sup>H]<sub>5</sub>NaO<sub>2</sub>
标签内的数字可以是两位数。到目前为止,我知道 /(\d+) / 将匹配所有数字,而 /[(\d+)/ 匹配 [ 之后的数字,但我不知道如何将这两者结合起来。
【问题讨论】:
-
您还有其他示例吗,我担心一旦您尝试将其应用于其他公式,针对此单个示例给出的任何解决方案都会失败
-
这是一个比你想象的更复杂的问题,如果你希望它是通用的。化学公式几乎都有自己的语法。您可能不得不求助于 Parslet 或 TreeTop 之类的语法分析器。
-
这是编程语言中的Ruby还是
<ruby>中的Ruby? -
哪个是输入,哪个是输出?
-
为什么这个问题被否决了?我提出了这个公式的一个特定场景,这是数据将进入的格式。我不关心公式的其他变体,我没有在问题中说这个公式会有变体。