|
Posted by Jasen Betts on 10/23/78 11:40
On 2006-02-09, Jim Michaels <jmichae3@nospam.yahoo.com> wrote:
> "Palle Hansen" <palle@na.invalid> wrote in message
> news:43cf4b9b$0$84031$edfadb0f@dtext01.news.tele.dk...
>> yawnmoth wrote:
>>
>>> if (eregi("^[a-z0-9| |\,\-\+\.]+$",$string))
>>
>>> Why does $string = 'te\st' yield a match? The ereg expression doesn't
>>> have a \\ in it...
>>
>> To have this expression make sence to me, it should look like
>>
>> if (eregi("^[a-z0-9 ,+.-]+$",$string)){
>>
>> '-' should be the first og last character
>>
>> all the special characters looses their meaning in a character class.
>
> if that's true, how yould you match a tab character \t
when you say "\t" in a doouble-quote string the the \t is transformed
into a tab character, and there is no \ in the actual string.
>or a whitespace \s?
you say "[:space:]" inside the brackets - eg: "[a-z[:space:]]".
If you have shell access to a unix(etc) system do "man 7 regex."
> Somehow I don't think they would do that.
> I tried <?php print preg_match('/[\s]/'," \t "); ?> and it returned 1.
> it works. \t and \s works in a character class. you can escape things. I
> don't know who told you this.
Only in perl perl regular expressions, not in POSIX extended regular
expressions.
The ereg... functions use POSIX extended regular expressions.
Bye.
Jasen
[Back to original message]
|