资讯专栏INFORMATION COLUMN

用正则表达式匹配化学式/化学方程式

joyqi / 1247人阅读

摘要:暂未找到匹配绝大多数化学方程式的正则表达式。另外发一个在线的化学方程式自动配平工具点这里参考用正则表达式解析化学式以及怎样通过正则表达式来查找化学式

对于不是特别复杂的化学式和化学方程式来说,可以用一个或多个正则表达式来匹配。
一个化学式满足:

元素1 角标 元素2 角标 元素3 角标 ...

元素第一个字母必须大写,可以有第二个字母但必须小写。
角标可以是上(离子,+/-)也可以是下(分子中该元素原子数量),是一个正整数,如果是1则不写。
元素+角标可以嵌套括号。
匹配绝大多数化学式的正则表达式

[A-Z][a-z]?d*|((?:[^()]*(?:(.*))?[^()]*)+)d+


在线DEMO
当然,对于特别复杂的化学式,比如:

(1) K0.85Ca3(Si2.15Al2.85)O11(SO4)0.7(CO3)0.3

(2) (Na,Ca,K)8(Si,Al)12O24(SO4, Cl, CO3)3·5H2O

可能就不行了。
对于离子式暂时还不行。

一个化学方程式满足:

数量 化学式 + 数量 化学式 + 数量 化学式 + ... =(/)(反应条件) 数量 化学式 + 数量 化学式 + 数量 化学式 + ...

数量是一个正整数,如果是1则不写,反应条件可以不写(默认是常温常压),方向是=/→(如果是可逆反应用←→),反应条件可以有加热、高温、光照、通电、高压、催化剂等。生成物可以有↑(反应物没有气体,生成物中液体生成气体)或者↓(生成物液体中生成不溶的沉淀)。
暂未找到匹配绝大多数化学方程式的正则表达式。
另外发一个在线的JavaScript化学方程式自动配平工具:点这里
参考:用正则表达式解析化学式 —— Stack Overflow以及怎样通过正则表达式来查找化学式 —— Stack Overflow

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87794.html

相关文章

  • 正则达式匹配学式/化学方程式

    摘要:暂未找到匹配绝大多数化学方程式的正则表达式。另外发一个在线的化学方程式自动配平工具点这里参考用正则表达式解析化学式以及怎样通过正则表达式来查找化学式 对于不是特别复杂的化学式和化学方程式来说,可以用一个或多个正则表达式来匹配。一个化学式满足: 元素1 角标 元素2 角标 元素3 角标 ... 元素第一个字母必须大写,可以有第二个字母但必须小写。角标可以是上(离子,+/-)也可以是下(分...

    taohonghui 评论0 收藏0
  • 系统性学习与碎片化学

    摘要:碎片化学习我们必须学会碎片化学习。碎片化学习也要讲究方法,比如我以前写的谈学习读源码和面试经都有提到碎片化学习的误区,并较之以正确的方法。首先,应该建构起基础的知识体系碎片化学习仍然需要完整系统的知识体系。 4-27在小密圈接到第一次付费提问,喜获8块。庆祝一下。 这个话题也是我在小密圈里和那位同学的交流时产生的。他说他学习的知识也不系统化,学习的知识也比较混乱。不系统暂时没有好办法...

    raoyi 评论0 收藏0
  • 详解浪潮与Odoo联手背后 双方将带来哪些化学反应?

    摘要:近日,浪潮与一家名为的开源企业签署了合作协议,根据协议,双方将在中国成立合资公司,消息传出,立刻引起业界的高度关注。据了解,是一家欧洲中小企业软件市场知名厂商,而浪潮与联合成立的合资公司也将重点发展中小企业业务。近日,浪潮与一家名为Odoo的开源ERP企业签署了合作协议,根据协议,双方将在中国成立合资公司,消息传出,立刻引起SaaS业界的高度关注。据了解,Odoo是一家欧洲中小企业软件市场知...

    stefan 评论0 收藏0
  • Python运词典和目录完成学生们信息系统

      本文大多为大伙儿阐述了Python如何运用词典和目录完成1个简单的学生们信息系统,原文中详尽注解,便捷了解,所需要的可以了解一下  本文运用Python里的词典和目录完成学生们信息系统  文件信息储放文件格式所采用的是python内置的pickle控制模块,必须新创建course.txt和student.txt供程序流程读写能力。  以下是实例编码  importpickle   #从文件中读...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<