2011-08-05 157 views
-1

我需要在正则表达式中指定匹配所有正数和负数。我希望它在开始时只匹配一个-,但如果它不存在(即以正数)也应该起作用。正则表达式方括号帮助

如果我尝试:

^[-][0-9]+$ 

这只-100,-200,但不是200,100我怎样才能改变它同时匹配100,200,-100,但不匹配,等等 - -100?

+1

为什么downvote没有评论?这个问题出了什么问题? – aib

+2

良好的学习正则表达式的资源:http://www.regular-expressions.info/ –

+1

@aib:这不是我,但也许是因为它可以通过简单的Google搜索来回答:https://encrypted.google。 com/search?q =正则表达式+可选+字符 –

回答

2

您需要?修饰符(表示零或一个)。即-?-{0,1}

4
^-?[0-9]+$ 

对于一个字符,您不需要字符类[]?表示前一个字符/组匹配零次或一次。