正则表达式匹配字符串中的连字符
问题描述:
我有一个正则表达式\([0-9]+|\-)\
,它需要一个数字或连字符。
但如果我用它来匹配-555
之类的东西,它仍然可以工作,因为它匹配连字符-
。所以我想知道是否有办法匹配整个事情?正则表达式匹配字符串中的连字符
答
/^([0-9]+|\-)$/
的^
装置“在
串
行的开始”,并且$
装置“在其端部”。
编辑:修复了答案,这要归功于luke-gru。正如评论中指出的那样,\A
位于字符串的开头,\Z
位于其末尾。 ^
和$
的行为取决于是否启用多行。
只是作为一个肮脏的僧侣,\ A和\ Z是乞求。和字符串结尾,而^和$是乞讨。和行尾。大多数时候他们都是一样的,但是当你没有做好准备时,击中异常值就会很糟糕。 – 2012-02-13 04:41:34
@ luke-gru不知道,谢谢你的信息。答案已更新 – mgibsonbr 2012-02-13 06:00:43