Что нового

Извлечение текста между идентификаторами

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Вообщем не знал как их (идентификаторы) назвать ещё, но суть не в этом, имеется текст такого типа:

Код:
<ICON[
    icon="icon.png" 
    left="15" 
    top="15" 
]>

Как достать внутренности между <ICON[ и ]> чтобы вернулся массив:

Код:
row  | col
---------------------
[0]  | icon="icon.png"
[1]  | left="15"
[2]  | top="15"

Но текст ещё может выглядеть так:

Код:
<WINDOW[lt="lt.png" tc="tc.png" rt="rt.png" lc="lc.png" 
    cc="cc.png"  rc="rc.png" lb="lb.png" bc="bc.png" rb="rb.png" 
]>
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
#include 'array.au3'
$file=FileRead(@ScriptDir&'\123')
$str=StringRegExp($file,'(?s)<ICON\[.*?(icon="\S+").*?(left="\S+").*?(top="\S+").*?]>',3)
_ArrayDisplay($str)
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Код:
    icon="icon.png" 
    left="15" 
    top="15"

Значения icon, left, top - могут быть совершенно разными, например image, x, y
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
#include <Array.au3>

$vTest = ClipGet()

$aRet = StringRegExp($vTest, '\s*([^][=]*=".*?")\s*', 3)
_ArrayDisplay($aRet)
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
А куда всунуть <ICON[ ]> ? Мне скрипт выводит всё из <ICON[ ]>, <WINDOW[ ]> и т. д.

Хотя наверное так лучше будет, спасибо :smile:
 
Верх