如何检查数字字符串是否为连续序列

5

有没有一种正则表达式(或其他方法)可以检查字符串中的数字是否是连续的?

例如,

"123456" will return true
"456789" will return true
"345678" will return true
"123467" will return false
"901234" will return false
2个回答

15
如果你所有的序列都由单个数字组成,那么你可以通过观察到所有正确的序列必须是最长这样的序列的子字符串,即"0123456789"的子串来解决这个问题。因此,可以像这样进行检查:
bool res = "0123456789".Contains(str);

在 ideone 上的演示。


3
这个怎么样:
text.Skip(1).Zip(text, (c1, c0) => new { c1, c0 }).All(c => c.c1 - c.c0 == 1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接