正则表达式方括号帮助

时间:2011-08-05 08:11:57

标签: php regex

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

如果我尝试:

^[-][0-9]+$

这只匹配-100,-200,但不匹配200,100等。如何更改它以匹配100,200,-100,而不是-100?

2 个答案:

答案 0 :(得分:4)

^-?[0-9]+$

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

答案 1 :(得分:2)

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