Regular Expression Problem

From: Date: Thu, 26 Feb 2009 15:09:01 +0000
Subject: Regular Expression Problem
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-288823@lists.php.net to get a copy of this message
Hi, I have two lines here as follows: 1 -0.123701962557954E+03 0.460967618024691E+02 -0.123547659000000E+03 0.462591090000000E+02 What I am trying to do here is to only have 1 -0.123701962557954E+03 0.460967618024691E+02 be the output so I can do further processing with it, however, with the code I have in the following, I have both lines in the output. Here is the code: $file = "test.txt"; $fp = fopen($file, "r"); $lines = file($file); foreach($lines as $line_num => $line) { if (preg_match("/([^0-9]+\s+)(\-?\d+\.?\d+(\+?E?\d+)?){2}/", $line)) echo $line; } Could anyone please tell me that even when I specify that the line has to start with [^0-9]+\s with one occurrence, why I still get -0.123547659000000E+03 0.462591090000000E+02? Thanks a lot for your help. Alice _________________________________________________________________ Express yourself with gadgets on Windows Live Spaces http://discoverspaces.live.com?source=hmtag1&loc=us

« previous php.general (#288823) next »