有一个用数字或数字组填充的字段。
逗号后面必须有空格!
符号“ ,
”和空格不能为字段的开头,/
或结尾
^[\d+]{1,}([,]{1}[\s]{1}).*[\d+]$
- this does not work. please help to write a regular expression according to the described condition.
示例
1 - ok!
2, 3 - ok!
6, 7, 4 -ok!
,5 - bad!
5 6 0 - bad!
4,5 - bad!
答案 0 :(得分:4)
您可以在重复组前面加上一个空格(或\s
)。
在您的模式中,您可以删除.*
并匹配组中的最后一个\d+
。然后重复该组0+次。
看起来像^[\d]{1,}([,]{1}[\s]{1}[\d]+)*$
请注意,您不必将\d+
放在方括号之间,否则+
会在字面上匹配,并且量词{1}
可以省略:
^\d+(?:, \d+)*$
在Java中
String regex = "^\\d+(?:, \\d+)*$";