如何检查数字字符串是否处于运行顺序

时间:2014-05-27 03:26:44

标签: c# .net regex logic

是否有正则表达式(或任何其他方式)来检查字符串中的数字是否处于运行顺序?

,例如,

"123456" will return true
"456789" will return true
"345678" will return true
"123467" will return false
"901234" will return false

2 个答案:

答案 0 :(得分:13)

如果所有序列都由一位数字组成,那么你可以通过观察所有正确序列必须是最长序列的子串,即"0123456789"来解决这个问题。所以检查可以这样做:

bool res = "0123456789".Contains(str);

Demo on ideone.

答案 1 :(得分:2)

这个怎么样:

text.Skip(1).Zip(text, (c1, c0) => new { c1, c0 }).All(c => c.c1 - c.c0 == 1)