2

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

应该匹配,

   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

任何帮助都会非常有帮助

4

2 回答 2

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
于 2012-08-31T16:16:47.967 回答
1

尝试这个:

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

它也匹配裸数字23
您可以在此站点中对其进行测试。

于 2012-08-31T16:36:25.720 回答