У меня есть этот текст:
andres wins Pot (9.50) with a Full House
и я хочу получить слово «андрес». Это имя игрока (переменная), которое всегда отображается перед словом «выигрывает».
Мне нужно использовать функцию preg_match_all, и я пытаюсь с:
%(?:\S+\s)?\S*wins%
Но это возвращает меня:
andres wins
Мне нужно только, Андрес.
Спасибо !
Используйте группу захвата вместо группы без захвата. Этого должно быть достаточно, чтобы соответствовать предыдущему слову.
(\w+)\s*wins
Вам нужно ссылку $matches[1]
вернуть ваш результат матча.
(\w+)(?=\s*wins)
Вы также можете использовать это. Захватите совпадение [1]. Это больше не захватит ничего. Смотрите демонстрацию.