NIKZZZZ
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Artem_Butenko Цитата: Только что проверил, ни первый, ни второй вариант не работает. | В @ScriptName и @ScriptDir содержатся символы, которые являются служебными для StringRegExpReplace, их необходимо экранировать. Код: $asMask = IniReadSection("Settings.ini", "File Mask") $sMask = '' For $i = 1 To $asMask[0][0] $sMask &= $asMask[$i][1] & '|' Next $sMask=StringRegExpReplace($sMask, "[\\\.\(\)\{\}\*\+\?\$]", "\\\0") $sMask = "(?mi)^.*(?:" & StringTrimRight($sMask, 1) & ").*$\s*" | Для примера: Код: $sMask = @ScriptName & "|" & @ScriptDir & "ntoskrnl.exe|KDCOM.dll" $sMask=StringRegExpReplace($sMask, "[\\\.\(\)\{\}\*\+\?\$]", "\\\0") $sMask = "(?mi)^.*(?:" & $sMask & ").*$\s*" | Добавлено: К стати, наверно правильнее Код: $sMask = @ScriptName & "|" & @ScriptDir & "\ntoskrnl.exe|" & @ScriptDir & "\KDCOM.dll" $sMask=StringRegExpReplace($sMask, "[\\\.\(\)\{\}\*\+\?\$]", "\\\0") $sMask = "(?mi)^.*(?:" & $sMask & ").*$\s*" | Исправил ошибку. | Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 09:47 11-06-2014 | Исправлено: NIKZZZZ, 14:22 11-06-2014 |
|