Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Объясните как работает <(.*?)> с IniRead (http://forum.oszone.net/showthread.php?t=184863)

Centrinar 07-09-2010 18:50 1490443

Объясните как работает <(.*?)> с IniRead
 
Есть ини файл типа: test1=<list><Teste><6><Описание>. Мне нужно что бы он читал "Описание". Пишу скрипт $text = StringRegExp(IniRead("conf.ini","Params","test"&$i,""),"<(.*?)>",3), но он читает только "Teste".

FlatX007 07-09-2010 19:11 1490455

Код:

$text = StringRegExp("<list><Teste><6><Описание>","<(.*?)>",3)
ConsoleWrite($text[3] & @CRLF)


Centrinar 07-09-2010 19:22 1490460

Явн чтот не то

FlatX007 07-09-2010 19:36 1490471

StringRegExp - возвращает массив!, слово - "Описание" будет в третьей ячейке массива.

Что не - то ?

Centrinar 07-09-2010 19:38 1490472

А как он узнает из какого файла читать данные?)))

FlatX007 07-09-2010 19:41 1490474

блин я что бы протестировать у себя на компе буду создавать INI файл ... это ПРИМЕР! (как дети маленькие)
У тебя пример есть! вот и читай данные из $text[3]

madmasles 07-09-2010 20:48 1490501

Centrinar,
Если заменить <Teste> на <TECTE> то у меня так получилось:
Код:

$sPattern1 = '[^a-z]';<list>
$sPattern2 = '[^A-Z]';<TECTE>
$sPattern3 = '[^0-9]';<6>
$sPattern4 = '[^а-яА-я]';<Описание>

For $i = 1 To 4
    MsgBox(0, $i, StringRegExpReplace(IniRead('conf.ini', 'Params', 'test1', ''), Eval('sPattern' & $i), '\'))
Next

Или, если не менять, то так можно:
Код:

$aTest = StringRegExp(IniRead('conf.ini', 'Params', 'test1', ''), '<(.*?)>', 3)
For $i = 0 To UBound($aTest) - 1
    MsgBox(0, $i + 1, $aTest[$i])
Next



Время: 17:03.

Время: 17:03.
© OSzone.net 2001-