2012-02-12 266 views
1

我有一个正则表达式\([0-9]+|\-)\,它需要一个数字或连字符。
但如果我用它来匹配-555之类的东西,它仍然可以工作,因为它匹配连字符-。所以我想知道是否有办法匹配整个事情?正则表达式匹配字符串中的连字符

回答

8
/^([0-9]+|\-)$/ 

^装置“在 行的开始”,并且$装置“在其端部”。

编辑:修复了答案,这要归功于luke-gru。正如评论中指出的那样,\A位于字符串的开头,\Z位于其末尾。 ^$的行为取决于是否启用多行。

+3

只是作为一个肮脏的僧侣,\ A和\ Z是乞求。和字符串结尾,而^和$是乞讨。和行尾。大多数时候他们都是一样的,但是当你没有做好准备时,击中异常值就会很糟糕。 – 2012-02-13 04:41:34

+0

@ luke-gru不知道,谢谢你的信息。答案已更新 – mgibsonbr 2012-02-13 06:00:43