Эй, я пытаюсь поместить именно то, что выбрано в массив, и это не работает. Вот что у меня есть:
$stripped = "listing requirements. $ 669,647,431,200 P/E Ratio: 17.75 Forward P/E(1y) A widel";
$pattern = '/P\/E+\s+\w\w\w\w\w\W\s\w\w\W\w\w/';
preg_match($pattern, $subject, $matches);
print_r ($matches);
По сути, я хочу, чтобы он просто вывел «P / E Ratio: 17.75» в массив. Ничего больше.
Я понял, что моя форма также не будет работать, если P / E, скажем, 114.13. Как я мог просто заставить его выбрать следующие два «слова»?
Спасибо!
Вы можете упростить регулярное выражение как
P\/E Ratio: [\d.]+
Пример : http://regex101.com/r/tK9rR0/1
$subject = "listing requirements. $ 669,647,431,200 P/E Ratio: 17.75 Forward P/E(1y) A widel";
$pattern = '/P\/E Ratio: [\d.]+/';
preg_match($pattern, $subject, $matches);
print_r ($matches);
Даст выход
Array ( [0] => P/E Ratio: 17.75 )
Других решений пока нет …