Perl正则表达式可以匹配正值和负值

时间:2011-11-25 06:34:07

标签: regex perl

我有一个我想要匹配的数据列表:

0:1
0:3
0:-1
0:2
0:-4

我可以使用什么正则表达式来匹配所有正则表达式:

我试过这个但不行:

$line =~ /0:(\w+)/

它只匹配积极因素。

2 个答案:

答案 0 :(得分:5)

\w用于单词符号:字母,数字和下划线。这意味着除了0:34之外,你的正则表达式将匹配像0:hello这样的smth,但不会匹配减号符号。

如果您只需要数字,则/0:-?\d+/应该有效。如果您需要匹配整个字符串(以过滤掉a0:-3b等字符串,您可以使用/^0:-?\d+$/

答案 1 :(得分:1)

$line =~ /0:[-]?[0-9]

怎么样?