Что нового

[RegExp] Извлечение числа из (скобок)

Trans

Знающий
Сообщения
257
Репутация
6
Ребят подскажите как найти в Хтмл коде вот эту кусок
Код:
<option value="13720795">Зелье манны 100 МА (147 ед.)</option>
Где (147 ед.) в любой момент может поменять своё значение:smile:

попробывал, как-то так, не получилось :smile:
Код:
StringRegExp($sUni, '^Зелье манны 100 МА (\d{10} ед.))$')


В идеале, хотелось, бы, чтоб Зелье манны 100 МА (147 ед.) копировалось полностью:smile:
Код:
$ManaPotion = .......
  MsgBox(64, '', $ManaPotion ); Где $ManaPotion = Зелье манны 100 МА (147 ед.)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Попробуйте так:
Код:
$sRegExp = '<option value="13720795">Зелье манны 100 МА (147 ед.)</option>'
$sRegExp = StringRegExpReplace($sRegExp, '<option.*>(.*?)</option>', '$1')
ConsoleWrite($sRegExp & @CRLF)
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Garrett [?]
Попробуйте так:
что-то я не разобрался в вашем примере....
получился примерно такой код
Код:
$sRegExp  = _IEPropertyGet ($oIE, "innerhtml")
StringInStr($sRegExp, 'Зелье манны 100 МА')
$oRegExp = StringRegExpReplace($sRegExp, '<option.*>(.*?)</option>', '$1')
ConsoleWrite($oRegExp & @CRLF)


Но он почему-то не работает:(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Trans [?]
Но он почему-то не работает
А так?
Код:
;...
$sHTML = _IEPropertyGet($oIE, 'innerhtml')
$sSearch = StringRegExpReplace($sHTML, '(?s).*<option.*>(Зелье.*?)</option>.*', '$1')
If @extended = 1 Then
	ConsoleWrite($sSearch & @LF)
Else
	ConsoleWrite('Error' & @LF)
EndIf
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
madmasles [?]
Не много изменил строку поиска, но всё равно выдает сообщение Error
Код:
$sHTML = _IEPropertyGet($oIE, 'innerhtml')
$sSearch = StringRegExpReplace($sHTML, '(?s).*<option.*>(Зелье манны 100 МА.*?)</option>.*', '$1')
If @extended = 1 Then
    ConsoleWrite($sSearch & @LF)
Else
    ConsoleWrite('Error' & @LF)
EndIf
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,320
Trans,
Покажите кусок кода страницы с этим зельем (+ пара строк выше и ниже).
Попробуйте так.
Код:
;...
$sHTML = _IEBodyReadHTML($oIE)
$sSearch = StringRegExpReplace($sHTML, '(?si).*<option.*>(Зелье.*?)</option>.*', '$1')
;...
 
Автор
T

Trans

Знающий
Сообщения
257
Репутация
6
Спасибо madmasles [?] всё работает, так как надо:smile:
 
Верх