regular expression question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello:

I've adapted this regular expression script from a book, but I'm not clear why it works.

$email = "john.smith@xxxxxxxxxxxxxxxx";
$pattern = "/[^@^\s]+@([-a-z0-9]+\.)+[a-z]{2,}/";
_______

if ( preg_match($pattern,$email) )
{
print "yes! " . $email . " matches!";
}
else { print "no match"; }
_______

When I run this script, I get the "yes! john.smith@xxxxxxxxxxxxxxxx matches!" statement.

But I don't understand why the second half of the regular expression works. I'm talking about this part:

@([-a-z0-9]+\.)+[a-z]{2,}/";

why is it able to detect repeated sections of the email address after "@" that are separated by periods? like "@email.alaska.com" . It looks to me like it's only looking for one example of that pattern. Does the "()" allow an unlimited number of patterns to pass?

thanks for any and all guidance

Matthew

Matthew Lasar || llfcc.net
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux