Re: regex question
| From: | W. D. | Date: | Mon, 07 Mar 2005 18:56:05 +0000 |
| Subject: | Re: regex question | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-38802@lists.php.net to get a copy of this message | ||
At 11:04 3/7/2005, Chip Wiegand wrote:
>I am writing some regex on a php form to validate input and have come up
>with this, for example -
>
>if (empty($first) || !eregi("^[A-Za-z]+[- ]?[A-Za-z]+$", $first))
>
>for checking a persons name. This allows a single name, or a hyphenated
>double name, or a non-hyphenated double name, and it works. My question is
>this - why is the third set followed by a '+' optional? I thought the +
>meant the preceding group is present 1 or more times. The ? means the
>preceding group is present 0 or more times. Why is it that when I put a ?
>in the place of the + after the last ]
>
>if (empty($first) || !eregi("^[A-Za-z]+[- ]?[A-Za-z]?$", $first))
>
>the regex is broken?
>
>Regards,
>Chip
If you want to add the capability for those weird, foreign
names [ ;^) ], take a look at the RegEx on this page:
http://www.RegExLib.com/UserPatterns.aspx?authorId=45511
Start Here to Find It Fast! -> http://www.US-Webmasters.com/best-start-page/
$8.77 Domain Names -> http://domains.us-webmasters.com/