正则表达式 - [, - ?[0-9] +] *模式的问题

时间:2014-10-23 06:09:31

标签: regex character-class

这是我的模式:

^~[0-9]+@Y 1,710,-?[0-9]+[,-?[0-9]+]*\n$

由于某种原因,它匹配:~01@Y 1,710,9,

但不是:~01@Y 1,710,9

我不明白为什么它需要最后一个逗号?

http://regex101.com/r/kP4pZ2/1

1 个答案:

答案 0 :(得分:-1)

我认为这里的问题是

[,-?[0-9]+]*

它将匹配"~01@Y 1,710,9,""~01@Y 1,710,[9]"

如果您只想在最后用逗号,问号,数字或“ - ”定义表达式匹配,可以尝试下面的表达式:

^~[0-9]+@Y 1,710,-?[0-9]+[,?0-9-]*$