1 (изменено: Veranda, 2017-02-18 16:39:25)

Тема: AHK: Вывод текста в RegExMatch

Доброго дня, уважаемые форумчане!


url := "http://www.rbc.ru/rbcfreenews/58a830959a79470c39562c7a?from=newsfeed"
HTTP := ComObjCreate("WinHttp.WinHttpRequest.5.1")
HTTP.Open("GET", url, true)
HTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0)")
HTTP.Send()
HTTP.WaitForResponse() 
; msgbox % Http.responseText

Str = % Http.responseText

FoundPos := RegExMatch(str, "<div class=""article__header__title js-slide-title"">(.*)</div>", SubPat)  ; ни черта не находит!

 
 MsgBox, %SubPat1%
 
f3:: reload

Не мог получить значение из <div class="article__header__title js-slide-title">SpaceX перенесла полет на Марс на 2020 год</div>


Прошу помочь разобраться.

Версия AHK: v1.1.24.05 - February 3, 2017

Чем дальше в лес - тем дальше в лес...

2

Re: AHK: Вывод текста в RegExMatch

Кавычки экранируются дублированием - "".

3 (изменено: Veranda, 2017-02-18 16:45:30)

Re: AHK: Вывод текста в RegExMatch

Спасибо, Malcev!
Только сейчас обнаружил: у меня в первоначальном варианте кода строка

FoundPos := RegExMatch(str, "<div class="article__header__title js-slide-title">(.*)</div>, SubPat)

стояла без закрывающих кавычек. В этом, видимо, определенная проблема была.

UPD:: код поправил, но в настоящий момент вместо вывода в

MsgBox, %SubPat1%

текста "SpaceX перенесла полет на Марс на 2020 год" - выводится кусок кода страницы. Как решить данную проблему?

Чем дальше в лес - тем дальше в лес...

4

Re: AHK: Вывод текста в RegExMatch

FoundPos := RegExMatch(str, "<div class=""article__header__title js-slide-title"">([^\r\n]*)</div>", SubPat)

5

Re: AHK: Вывод текста в RegExMatch

red2881, огромное спасибо!
Понимаю, что данная тема была неоднократно рассмотрена на форуме, но хотелось получить наглядный пример на своем материале.
Еще раз спасибо - все работает как надо!

Чем дальше в лес - тем дальше в лес...

6

Re: AHK: Вывод текста в RegExMatch

Жадные и ленивые квантификаторы в регулярных выражениях.