LINUX.ORG.RU

Поиск по регулярному выражению с позицией в строке


0

0

Нужно с помощью preg_match() или другой функции получить не только часть строки, совпадающей с выражением, но и позицию первого вхождения этого отрывка в строку.

Например:

preg_match ('G.d', 'In God We Trust', $match);

$match (
[0] = «God»
[1] = 3 # эту позицию нужно получить
)

А можно полюбопытствовать, в каком языке так страшно работают с регулярными выражениями?

KblCb ★★★★★ ()
PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Данный флаг доступен в PHP 4.3.0 и выше.

жалкое подобие перловских регекспов…

arsi ★★★★★ ()

PREG_OFFSET_CAPTURE, вообще, смотрите мануалы.

zJes ★★ ()
Ответ на: комментарий от arsi

> Необходимо помнить, что этот флаг меняет формат возвращаемых данных

Фак мой моск...

LamerOk ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.