正则表达式检查数字和字母表

时间:2012-08-31 16:15:00

标签: java regex

我正在尝试匹配仅包含带逗号的数字和带有连字符的数字的字符串,如

应该匹配,

   22-10,3,34-2,16
   22,10,3,34,2,16
   22-10-3-34-2-16
   23-10,6

不应该匹配,

   4ABS-NTts
   ABS,NT
   2

任何帮助都会非常有帮助

2 个答案:

答案 0 :(得分:3)

试试这个:

^(?:[0-9]+[,-])+[0-9]+$

<强>解释

^         # Start of string
(?:       # Try to match:
 [0-9]+   #  one or more digits
 [,-]     #  one separator (- or ,)
)+        # once or more.
[0-9]+    # Match one or more digits
$         # End of string

答案 1 :(得分:1)

试试这个:

^(?:\d+[,-]?)+\d+$

它也匹配像23这样的裸号 您可以在this site中进行测试。