-3

我应该使用哪个表达式来识别化学式中的氢原子数?

例如:

C40H51N11O19 - 51 个氢

C2HO - 1 氢

CO2 - 无氢(空)

有什么建议么?

谢谢!

干杯!

4

2 回答 2

0

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

/H(\d+)/g
  • “H”是与给定化学式中的 H 匹配的文字字符
  • () 声明了一个捕获组,因此您可以使用您使用的任何编程语言在没有 H 的情况下捕获捕获的组
  • \d 将匹配任何数字以及匹配 1 或更多的 + 修饰符

这里没有涵盖所有情况,您最好使用正则表达式以外的东西。

于 2017-09-26T13:16:04.817 回答
0

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

高清*

H -> 从字面上匹配 H 字符 d* -> 匹配 0 到 N 次数字

请参阅示例并尝试其他正则表达式: https ://regex101.com/r/vdvH8S/2

但是正则表达式不会为您转换结果,正则表达式只会查找。

你需要处理你的结果说:

  • H 带数字:提取数字
  • 只有 H : 1
  • 不匹配:0
于 2017-09-26T13:18:05.680 回答