【发布时间】:2014-11-14 15:03:40
【问题描述】:
我想匹配任何只包含递增或递减数字的字符串。这意味着这些字符串将被匹配:
123, 234567, 0123456789, 87654, 321
这些不会:
7891011, 1234566789, 987865, 134
我一直在寻找答案,all I found 是使用正则表达式无法做到这一点。但是,我想用正则表达式来做,否则会在代码中弄得一团糟。
感谢您的回答。
【问题讨论】:
-
Regex 不适合在这里使用
-
正则表达式是在字符串中查找模式的好工具。但是,它没有任何数字或计数的概念。您通常可以验证一个数字是否在一个小范围内,例如 0..100,但无法确定这些数字是连续的。
-
所以它不知道一个字符的ASCII码并与前一个比较?
-
“正则表达式,否则会弄得一团糟” - 你听说过"now you have two problems"这个短语吗?
-
如果你让问题更通用,它可能会更好:“匹配来自唯一字符字符串(即连续数字)的任何子字符串”。