>>> preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$email);
>>
>> The / characters are the regex delimiters. This is a throwback to the
>> Perl language. Basically, the / show where the beginning and end of the
>> regex is. You *MUST* have them. After the last / you can put modifiers
>> such as 'i' for case insensitive matching.
>>
>> You can also use other chars for delimiters, but I try to stick with /
>> for consistency.
>
>I think he meant.. the carrot after the delimiter which means NOT.. like
>/[^a]/ means match anything thats not an 'a'

In the case above, the caret means the beginning of a pattern. It only
negates a pattern in the "[]" context:

"/^a/" means an 'a' at the beginning of the pattern
"/[^a]/" means a char that is not an 'a'
"/^[^a]/" means a char that is not an 'a' at the beginning of a pattern

FYI, the O'reilly "Learning Perl" book has the best introduction to
perl regexp's I've seen yet; I still use it as an indispensable reference.

---------------------------------------------------------------------
michal migurski- contact info and pgp key:
sf/ca            http://mike.teczno.com/contact.html

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

Reply via email to