【发布时间】:2016-05-16 12:15:49
【问题描述】:
我有以下文字:
2 HCl + 12 Na + 3 (Na₃Cl₂)₂₄ → 2 NaCl + H₂
我想匹配每个分子,包括它的系数。下面的正则表达式几乎可以工作,但是在最后一场比赛之前的空格字符正在匹配,这是不应该的。这是我正在使用的正则表达式:
(([0-9]* ??\(*([a-z]+[₀-₉]*)+\)*[₀-₉]*))
如果您查看此 regex101 链接,可能更容易看出我的问题是什么: https://regex101.com/r/hK7jY6/1
【问题讨论】:
-
最后没有看到空格匹配。
-
喜欢
(((?:[0-9]+ )?\(*([a-z]+[₀-₉]*)+\)*[₀-₉]*))? -
@WiktorStribiżew 是的,这行得通。谢谢!随意张贴作为答案,我会接受它。
-
语言是什么? JavaScript?
-
@WiktorStribiżew 是的,它是 JavaScript。
标签: regex