извлечь значение из текстового файла с помощью php - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь извлечь цену 44 380,86 между датой и #, используя preg_match_all() из следующей строки. Еще одна вещь - дата 1 января 2015 года будет динамичной. Может кто-нибудь сказать мне, как ее завершить?

start on Jan 1, 2015 44,380.86 # of count: 15 tc

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019

Вы можете использовать это регулярное выражение ( объяснение регулярного выражения ):

start on\s[A-Za-z]+\s[1-9]+,\s[0-9]+\s+(.*?)\s+#

Пример кода:

<?php
preg_match_all(
    "/start on\s[A-Za-z]+\s[1-9]+,\s[0-9]+\s+(.*?)\s+#/",
    "start on Jan 1, 2015                                 44,380.86    # of count: 15 tc",
    $matches
);

var_dump($matches);
0 голосов
/ 06 ноября 2019

Я думаю, что это должно работать для вашей проблемы с другими изменениями:

preg_match_all("(\S+(?:\s\S+)*?)","Your string",$matches);

для вашего вопроса вы можете использовать:

preg_match_all("(\S+(?:\s\S+)*?)","start on Jan 1, 2015                                 44,380.86    # of count: 15 tc",$matches);
echo $matches[5];

это регулярное выражение анализирует вашу строку с пробелами, поэтомукогда ваша строка изменится, просто вы можете отредактировать индекс $matches от 5 до того, что вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...