A simpler solution of checking for an IP address would be :
#! /opt/bin/perl -w
my($str) = 'This is a string with 192.19.2.13 in it';
while ($str =~ m/(\d+\.\d+\.\d+\.\d+)/g)
{
if (defined $1)
{
print "IP address is $1\n";
}
}
This just prints the IP address if there is one.
George Savio Pereira
^^^^^^^^^^^^^^^^^^^^
Email : [EMAIL PROTECTED]
On Wed, 4 Jul 2001, John Edwards wrote:
> Here's a solution I sent to the group earlier...
>
> For the array thing, have you considered using a hash instead?? How do you
> know where to insert the data in the array? Is it needed after another
> value, or at a certain element??
>
> John
>
> -----Original Message-----
> From: John Edwards
> Sent: 14 June 2001 16:29
> To: '[EMAIL PROTECTED]'; [EMAIL PROTECTED]
> Subject: RE: regex matching
>
>
>
>
> This will give you the IP only if valid. I've attached as a file too in case
> the code gets mangled.
>
> ---
> $string = "here is a sample with 123.456.123.456 in the middle.";
>
> if ($string =~
> /([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-
> 4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])/) {
>
> print "String <$string> contains a valid IP <$&>\n";
> } else {
> print "String <$string> contains no valid IP\n";
> }
>
> $string2 = "here is a sample with 123.156.123.156 in the middle.";
>
>
> if ($string2 =~
> /([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-
> 4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])/) {
> print "String2 <$string2> contains a valid IP <$&>\n";
> } else {
> print "String2 <$string2> contains no valid IP\n";
> }
> ---
>
> John
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> Sent: 14 June 2001 16:12
> To: [EMAIL PROTECTED]
> Subject: regex matching
>
>
> i have a basic knowledge of regex but i want to know if there is a
> simpler way to pull patterns out of a line.
>
> if i have a line like:
>
> here is a sample with 123.456.123.456 in the middle.
>
> m/\d\.\d\.\d\.\d/ will match the entire line. is there an easy way to
> get only the ip address?
>
> thanks..
>
> Brian T. Wallace
> Engineer
>
>
>
> --------------------------Confidentiality--------------------------.
> This E-mail is confidential. It should not be read, copied, disclosed or
> used by any person other than the intended recipient. Unauthorised use,
> disclosure or copying by whatever medium is strictly prohibited and may be
> unlawful. If you have received this E-mail in error please contact the
> sender immediately and delete the E-mail from your system.
>
>
> <<test.zip>>
>