Regular Expression Problem
| From: | Alice Wei | 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