У меня есть быстрый вопрос. Что я делаю неправильно в приведенном ниже коде:
#!/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}/
, поэтому я начал работать с одной строкой, содержащей только число, и, следовательно, затем разместил это в переполнении стека.
Если мне нужно поставить ^ ИЛИ $, то как мне их использовать, если я хочу сопоставить IP-адрес, например строку s, упомянутую выше.
Спасибо за ваше время.
^
и$
. - person flesk   schedule 07.09.2012.
Используйте\.
- person jchips12   schedule 07.09.2012