За последние 24 часа нас посетили 17547 программистов и 1314 роботов. Сейчас ищут 1783 программиста ...

Поиск блоков, содержащих заданное слово, по регулярке.

Тема в разделе "Регулярные выражения", создана пользователем vikkingamer, 21 дек 2016.

  1. vikkingamer

    vikkingamer Новичок

    С нами с:
    7 окт 2016
    Сообщения:
    4
    Симпатии:
    0
    К общем, есть блоки типа

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Возраст: такой-то
    321

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Возраст: такой-то
    321

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Отчество: Такое-то
    Возраст: такой-то
    321

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Возраст: такой-то
    321

    Мне надо при помощи регулярки найти блоки, которые содержат отчество.
    Если регулярка будет выглядеть так: 123(.*?)Отчество:(.*?)321
    То спарсит сразу 3 блока, 2 из которых не имеют отчества

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Возраст: такой-то
    321

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Возраст: такой-то
    321

    123
    Имя: Такое-то
    Фамилия: Сякая-то
    Отчество: Такое-то
    Возраст: такой-то
    321

    Можно как-то прописать регулярку, чтобы парсило исключительно блоки, содержащие параметр "отчество"?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    preg_match_all с модификатором m для поддержи нескольких строк?
     
    [vs] нравится это.
  3. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    denis01 нравится это.