如何使用正则表达式来识别化学式中的氢原子数?

时间:2017-09-26 13:03:37

标签: regex chemistry cheminformatics

我应该用哪种表达式来确定化学式中的氢原子数?

例如:

C40H51N11O19-51氢

C2HO - 1氢

CO2 - 无氢(空)

有什么建议吗?

谢谢!

干杯!

2 个答案:

答案 0 :(得分:0)

将H与下面的数字匹配的正则表达式将是:

/H(\d+)/g
  • 'H'是给定化学物质中与H的字面特征匹配 式
  • ()声明一个捕获组,因此你可以使用你正在使用的编程语言来获取没有H的捕获组
  • \ d将匹配任何数字以及与1个或多个匹配的+修饰符

这里没有捕获所有场景,你可能最好使用除正则表达式之外的其他东西。

答案 1 :(得分:0)

您可以开始使用此正则表达式:

  

ħ\ d *

H - >文字上与H字符相匹配 d * - >匹配0到N时间数字

参见例子并尝试自己的其他正则表达式: https://regex101.com/r/vdvH8S/2

但正则表达式不会为你转换结果,正则表达式只进行查找。

您需要处理结果:

  • 带数字的H:提取数字
  • 仅H:1
  • 不匹配:0