资讯专栏INFORMATION COLUMN

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

taohonghui / 1428人阅读

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

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

元素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/21799.html

相关文章

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

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

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

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

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

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

    stefan 评论0 收藏0
  • Llama3-8中文微调完成!更好地帮助中文写作、编程和数学

    Llama3-8B-Chinese-Chat 是基于 Meta-Llama-3-8B-Instruct 模型通过 ORPO进行微调的中文聊天模型。与原始的 Meta-Llama-3-8B-Instruct 模型相比,此模型显著减少了中文问题英文回答"和混合中英文回答的问题。此外,相较于原模型,新模型在回答中大量减少了表情符号的使用,使得回应更加正式。与 Llama-3-8B-nsturc...

    UCloud小助手 评论0 收藏0

发表评论

0条评论

taohonghui

|高级讲师

TA的文章

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