首页 > 解决方案 > C#正则表达式十进制数从复杂字符串中拆分出来

问题描述

我需要用正则表达式匹配这样的字符串格式:

94.5-97.8

93-95

94/97

55.5/77.9

使用这个正则表达式它可以工作:

([0-9]{2}[.,]?([0-9]{1})?)(-||/)([0-9]{2}[.,]?([0-9]{1})?)

但我得到一个 regex.Groups 结果如(测试 94.5-97.8)

[0] --> 94.5-97.8
[1] --> 94.5
[2] --> 5
[3] --> -
[4] --> 97.8
[5] --> 8

我需要做的是(使用正则表达式模式)获得这样的 regex.Groups:

[0] --> 94.5-97.8
[1] --> 94.5
[2] --> 97.8

有可能吗?

我正在使用 C# 和 .Net Core 2.2。

更新

如果您投反对票,请添加评论(用您的名字)为什么您认为这个问题没有用。

标签: c#regex

解决方案


在分组的情况下,圆括号定义您的组。所以摆脱它会让它起作用

([0-9]*[.,]?[0-9]?)[-,\/]([0-9]*[.,]?[0-9]?)

推荐阅读