Выборка данных регулярным выражением в php

145
16 февраля 2018, 19:53

Всем привет, немного не могу разобраться с регулярными выражениями. Имеется строка вида:

FORMTEXT Рыбаков(фамилия)(группа крови)(дата определения) FORMTEXT Владимир FORMTEXT Владиславович(имя, отчество)(резус)(подпись врача) FORMTEXT

Как можно посредством регулярных выражений через php вытащить отсюда фамилию, имя и отчество? Соответственно должно получится: Рыбаков Владимир Владиславович.

Answer 1

Организовать поиск по ключевому слову FORMTEXT, за которым следует один пробел \s - после пробела, собственно искомое слово \w+, а за этим словом альтернативный выбор: или скобка (, или пробел с ключевым словом \sFORMTEXT. Чтобы ключевые слова с пробелами не попадали в результат выборки, можно заключить их в конструкции назад и вперёд смотрящих проверок: (?<=FORMTEXT\s) и (?=\(|\sFORMTEXT) соответственно. Целиком шаблон примет вид: (?<=FORMTEXT\s)\w+(?=\(|\sFORMTEXT), а вместе с php всё будет выглядеть так:

$str = 'FORMTEXT Рыбаков(фамилия)(группа крови)(дата определения) FORMTEXT Владимир FORMTEXT Владиславович(имя, отчество)(резус)(подпись врача) FORMTEXT';
$patt = '~(?<=FORMTEXT\s)\w+(?=\(|\sFORMTEXT)~u';
preg_match_all($patt, $str, $arr);
$result = $arr[0] ?? false;
echo join(' ', $result);

Результат:

Рыбаков Владимир Владиславович
READ ALSO
Множественное наследование в php

Множественное наследование в php

Возможно ли наследование свойств и методов от нескольких классов в php? если да, то пример пожалуйста

134
Вставить wp_editor с плагином

Вставить wp_editor с плагином

У меня есть кастомная страница настроек в админке WordPressНа ней я вставляю редактор текста с помощью wp_editor($text, 'content', ['textarea_name' => 'content'])

163
Где ошибка в скриптах, помогите?

Где ошибка в скриптах, помогите?

Documentation API: http://docscarbonsoft

144
Realtime уведомление

Realtime уведомление

Доброго времени суток, ребят подскажите как можно реализовать такую функцию:

121