在特定数字后结束正则表达式

End RegEx after certain digit

我正在开发一个基于浏览器版本的过滤器,但遇到了一些小麻烦。它必须在喜欢包含一切可能的 RegEx 中。

我想select:
12.0
8.0
18.0.1025.168

我遇到的问题(具体查看 12.0,但它对所有 3 个问题都是一个问题)是 select 除了 12.0 之外还有其他东西。我一直在尝试使用否定集和非捕获组,但它并不是很有效。

目前我有:((?:18.0.1025.168[^.]|(12.0)[^.]|(?:8.0)[^.]))

我在否定集中使用了 \d,但似乎我必须选择 \d 或 。因为它不允许集合中的特殊字符。

我需要确保不 select 的事情包括以下任何变体,(9 可以是任何数字)
9.12.0
912.0
92.09
12.0.9

任何我应该研究的内容或我可以使用的其他符号的任何输入都将不胜感激。此外,如果需要,我可以将其分解为 3 个不同的公式,这些公式都会触发,但我想避免这种情况是可能的

(\A|^)(12.0|8.0|18.0.1025.168)($|\z)