Re: Regular Expression help

From: Date: Thu, 04 Jan 2007 16:56:36 +0000
Subject: Re: Regular Expression help
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-246538@lists.php.net to get a copy of this message
Chris Boget wrote:
<?php echo 'Is String: [' . ( is_string( 'a1b2c3' ) && preg_match( '/[A-Za-z]+/', 'a1b2c3' )) . ']<br>'; echo 'Is Numeric: [' . ( is_numeric( 'a1b2c3' ) && preg_match( '/[0-9]+/', 'a1b2c3' )) . ']<br>'; echo 'Is String: [' . ( is_string( 'abcdef' ) && preg_match( '/[A-Za-z]+/', 'abcdef' )) . ']<br>'; echo 'Is Numeric: [' . ( is_numeric( '123456' ) && preg_match( '/[0-9]+/', '123456' )) . ']<br>'; ?> Why is the first "Is String" check returning true/showing 1? preg_match should fail because 'a1b2c3' contains numbers and, as such, doesn't match the pattern...
It does match the pattern. The expression says "1 or more A-Za-z in sequence". If you want to check against the whole string you need to add the start and end markers... preg_match( '/^[A-Za-z]+$/', 'a1b2c3' )) Look at the manual page for preg_match and read up on the third parameter. Use it to see what is matching the expression. -Stut

« previous php.general (#246538) next »