Search code examples
regexperlip

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 216.108.225.236:60099";
  if($ip =~ /(\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}\:\d{1-5})/)
  {
      print "$1\n";
  }
}

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


Solution

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