Regex – Perl regular expression to match an IP address


I have written this code, but it does not work.
Can someone point out the issue?

sub match_ip()
  my $ip = "The IP address is";
  if($ip =~ /(\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}\:\d{1-5})/)
      print "$1\n";

I wanted to just extract the IP address, not do any validation.

Best Solution

Change {1-3} to {1,3} same for {1-5} -> {1,5}