我想接受0-9
,
并-
所以我有:
[0-9-,]+
但是我只希望-
连续有一个,所以你不能拥有--
. 我怎样才能做到这一点?
我认为需要一个是这样的:
^\d+(-\d+)?(,\d+(-\d+)?)*$
这是做什么的:
\d+
任何整数(一位或多位)
(-\d+)?
可选部分匹配 a-
后跟一个整数
(,\d+(-\d+)?)*
a 出现零次或多次,,
然后是上述模式的组合。
注意:添加所需的转义\
这个可以吗 ?
^[0-9,]*-?[0-9,]*$
刚刚用 grep 做了一个小测试:
kent$ echo "1-234-
1234-
3-24442-34
12341234"|grep -E '^[0-9,]*-?[0-9,]*$'
1234-
12341234