您好我如何为用分号分隔的数字列表编写正则表达式?
这样的事情:
1,2,3,5,7,10
列表的大小可能很长。
此外,我只需要十进制数的正则表达式(例如2.04(最多6位小数)或仅格式2或某个整数
但没有,
或任何其他值。
这是我的解决方案,但在.net验证中对我不起作用
[0-9]+(\.)[0-9]{0,10}|[0-9]+
答案 0 :(得分:1)
对于第一个表达式,以下模板是合适的:
var input = @"The quick 1,2,3 brown fox4,5,6 jumps over the lazy dog";
var pattern = @"([0-9],)+[0-9]";
var matches = Regex.Matches(input, pattern);
//matches: {1,2,3} {4,5,6}
您没有在输入行中指定约束和可能的值,因此我提供了一个简单的模板。因此,对于输入“快速1,2,3棕色狐狸4,5,6跳过懒狗7.0,8.1,9.3”,结果将是 {1,2,3 } {4,5,6} {0,8} {1,9}
十进制数的模式:
var input = @"The quick 1,2,3 brown fox4,5,6 jumps over the lazy dog7.0,8.1,9.3";
var pattern = @"([0-9])+(\.[0-9]{1,6})?";
var matches = Regex.Matches(input, pattern);
// matches: {1} {2} {3} {4} {5} {6} {7.0} {8.1} {9.3}
如果您想允许 1。等数字,则可以将{1,6}更改为{0,6}。
表格中通常有十进制数.9,在这种情况下,您可以使用([0-9]+(\.[0-9]{0,6})?)|([0-9]?(\.[0-9]{1,6}))