我正在通过串口接收数据,我想验证数据格式是否正确。我期待的数据格式是这样的
数字,数字,数字,数字 -> 1200,2500,6500,90
我正在使用这样的正则表达式Regex.IsMatch(s, @"^[0-4095]\,[0-4095]\,[0-4095]\,[0-4095]$")
使用 4095,因为数字范围在 0 到 4095 之间。需要帮助。提前致谢。
最佳答案
您可以使用简单的 LINQ 表达式和 int.TryParse 方法在不需要依赖正则表达式的情况下做到这一点:
var sections = e.Split(',');
sections.Count() == 4 &&
sections.All(s => int.TryParse(s, out int i) && i >= 0 && i <= 4095);