任务非常简单,但我还没有找到一个好的解决方案:一个字符串可以包含数字,短划线和加号,或者只包含数字.
^[0-9+-]+$
我没有幸运的常规前瞻,因为破折号和优势可能在字符串中的任何位置.
有效字符串:
> 234654
> 24-3 -2
> -234
> 25485
无效:
> –
怎么样:
^[0-9+-]*[0-9][0-9+-]*$
这可确保字符串中的某个位置至少有一位数字. (看起来它可能有很多回溯.但另一方面,它没有或*包裹在另一个或*,我也不喜欢.)