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

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Форумчане, всем привет) Нужна Ваша помощь, что-то не могу никак разобраться с модификаторами рег. выражений. Нужно написать выражение, которое будет игнорироватьто, что текст написан в несколько строк

HTML:
</div>
                    <div>
   
        <b>Дата рождения</b>:
   
    <span>19.10.1990</span>
</div>
Нужно спарсить только 19.10.1990
Начало поиска всегда приходится начинать с "<b>Дата рождения</b>", так как на всей странице несколько сотен тэгов <span>
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
модификаторы здесь необязательны
(?<=<b>Дата\ рождения</b>[\w\W]+?<span>).+?(?=</span>)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 598
Баллы
113
с модификатором
(?s)(?<=<b>Дата\ рождения</b>.+?<span>).+?(?=</span>)
 
  • Спасибо
Реакции: littleKongo

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Ага, значит вот так просто вначале вставлять модификатор (?s) и все славно отрабатывает. Спасибо!
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
модификатор можно вставлять в любую часть регулярки. Там, где он необходим, его можно включать, а где не нужен - выключать.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)