我有一个快速的问题。我在下面的代码中做错了什么:
#!/usr/bin/perl -w
use strict;
my $num = "12345";
print "$num \n" if $num =~ m/\d{1,3}/;
由于我的号码是 5 位长,我希望输出不应该打印任何内容,因为 if 语句正在寻找一个至少 1 位和最多 3 位的数字。但是我的脚本将输出打印如下:
# perl num.pl
12345
我误解了上面的正则表达式吗?
谢谢。
编辑:
所以,实际上我正在尝试匹配字符串之类的 IP 地址。例如,我想匹配11.222.3.444
但它不起作用,m/\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/
所以我开始处理仅包含数字的单个字符串,然后将其发布在堆栈溢出中。
如果我必须输入 ^ OR $ 那么如果我想匹配上面提到的字符串 s 这样的 IP 地址,我应该如何使用它们。
谢谢你的时间。