[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с регулярными выражениями
andriy111
Привет всем!
Никак немогу разобратся с регулярными выражениями...
У меня есть файл с куском текста:
2013    10    13    00    00    0.0000000     GPS         TIME OF FIRST OBS
2013 10 13 23 59 30.0000000 GPS TIME OF LAST OBS

Мне надо вытянуть с файла дату...
Пробовал:
<?php
$str=" 2013 10 13 00 00 0.0000000 GPS TIME OF FIRST OBS
2013 10 13 23 59 30.0000000 GPS TIME OF LAST OBS"
;
$out=preg_match("/^\d+/",$str);
echo ($out);
?>

Но не выходит....помогите пожалуйста!
andriy111
Вышло чтото типа етого...
^(\s+)(\d+)(\s+)(\d+)(\s+)(\d+)(\s+)(\d+)(\s+)(\d+)(\s+)(\d+)(\S+)(\s+)(\S+)(\s+)(TIME OF FIRST OBS)$

Это корректно?
andriy111
Мне надо отобрать данные именно с этого рядочка...
Для примера шапку где этот рядок будет находится:
     2.11           OBSERVATION DATA    M (MIXED)           RINEX VERSION / TYPE
GPP.DLL V3.02 02 - JUL - 13 13:37 PGM / RUN BY / DATE
pg19 MARKER NAME
MARKER NUMBER
OBSERVER / AGENCY
020011210076 ProMark200 s091Ht23 REC # / TYPE / VERS
NONE ASH111660 ANT # / TYPE
3757931.1635 1680312.7664 4855932.5973 APPROX POSITION XYZ
0.5486 -0.0000 -0.0000 ANTENNA: DELTA H/E/N
1 0 WAVELENGTH FACT L1/2
4 L1 C1 D1 S1 # / TYPES OF OBSERV
1.000 INTERVAL
2013 7 2 6 46 45.0000000 GPS TIME OF FIRST OBS
2013 7 2 7 12 25.0000000 GPS TIME OF LAST OBS
16 LEAP SECONDS
13 # OF SATELLITES
G03 1435 1435 1435 1435 PRN / # OF OBS
G05 1455 1455 1455 1455 PRN / # OF OBS
G07 1455 1455 1455 1455 PRN / # OF OBS
G08 1455 1455 1455 1455 PRN / # OF OBS
G09 1455 1455 1455 1455 PRN / # OF OBS
G10 836 836 836 836 PRN / # OF OBS
G19 1455 1455 1455 1455 PRN / # OF OBS
G26 1455 1455 1455 1455 PRN / # OF OBS
G27 743 743 743 743 PRN / # OF OBS
G28 1455 1455 1455 1455 PRN / # OF OBS
S20 1455 1455 1455 1455 PRN / # OF OBS
S26 1156 1156 1156 1156 PRN / # OF OBS
S27 232 232 232 232 PRN / # OF OBS
END OF HEADER

С етой шапки мне нужно считать числа с рядочков
3757931.1635  1680312.7664  4855932.5973                  APPROX POSITION XYZ
и
  2013     7     2     6    46   45.0000000     GPS         TIME OF FIRST OBS   
2013 7 2 7 12 25.0000000 GPS TIME OF LAST OBS


Спасибо за внимание! Надеюсь и жду помощи!
sergeiss
Цитата (lekafe @ 15.10.2013 - 07:22)
кто тебе мешает сделать так

Ты знаешь... У меня такое ощущение что он "глухой" smile.gif Я ему в соседней теме тоже про экплоуд говорил. Но он, похоже, читает только то, что сам пишет.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
andriy111
Пробую прочить строку
2.13о -
  3757931.1635  1680312.7664  4855932.5973                  APPROX POSITION XYZ 


Но почему-то зависает.....где-то ошибка....помогите:

<?php

$file_handle = fopen("2.13o", "r");
while (!feof($file_handle) or $stop=1) {
#!feof($file_handle) or $current[26]="APPROX"
unset($current);
$line = fgets($file_handle);
echo ''.$line.'<br>';
$current = explode(" ", $line);
foreach ($current as &$value)
{
if ($value="APPROX")
{
foreach ($current as &$coorval) {
$coord=preg_match("/\d+/",$coorval);
}
unset($coorval);
$stop=1;
}
}

unset($value);
}
if (!$coord[1]="")
{print_r ($coord); }
else echo "nema";
#vpreg_match("/^(\d{2})(\s+)(\d{1,2})(\s+)(\d{1,2})(\s+)(\d{1,2})(\s+)(\d{1,2})(\s+)(\d{1,2})/", $line, $found);

fclose($file_handle);
#var_dump($current);

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.