Тема: JScript: переменные в регвыр
Конек" JavaScript заключается в регулярных выражениях, несомненно, но вот у меня ошибка видать закралась, непонял где вот только, перелопатил кучу литературы и непонял где именно...
//var re = new RegExp("^.*"+a11+"\."+a22+"\."+a33+a44+"\.[0-9]*\..*$", "i");
или даже так
var re = new RegExp(".*"+a11+"\."+a22+"\."+a33+a44+"\.[0-9]*\..*", "i");где a11- запись типа ффф|ффа|ффы ; а22 - 01|03|41|88; а33 - 0141|0142|0045 ; a44="....."
Скрипт нехочет читать строки из тектового файла, а строки такого типа:
\\serverpko\arhiv\scan\25605\25605a\AWW.01.0141_0142.25605.026_005.tif
\\serverpko\arhiv\scan\25605\25605a\AWW.01.0141_0142.25605.026_006.1.tif
\\serverpko\arhiv\scan\25605\25605as\1\ASW.01.0141_0142.25605.062_001.tif
\\serverpko\arhiv\scan\25605\25605em\EMW.01.0141_0142.25605.010_002.tif
\\serverpko\arhiv\scan\25605\25605tx\TXW.01.0140A0000.25605.032_031.tif
Код записи в файл для отображения в конце поискового модуля такой:
function regsrchbaza(re) {
var nb=nm=0;
var fso8 = new ActiveXObject("Scripting.FileSystemObject");// проверка доступности сервера
var b1 = fso8.FolderExists(name6); // true, если данная папка существует
if (b1==false)alert("Папка архива или сервер недоступны");
else{
var fso5 = new ActiveXObject("Scripting.FileSystemObject");
fso5.CopyFile(name29, name20);//копируем 700 файл
var fso701 = new ActiveXObject("Scripting.FileSystemObject");
var f701 = fso701.CreateTextFile(name701, true, false); //созхдаем лог 1
f701.Close();
var fso702 = new ActiveXObject("Scripting.FileSystemObject");
var f702 = fso702.CreateTextFile(name702, true, false); //созхдаем лог 2
f702.Close();
// body поиск
var fso700 = new ActiveXObject("Scripting.FileSystemObject");
var f700 = fso700.OpenTextFile (name20, 1, false);
while (!f700.AtEndOfStream){
var axtext =f700.ReadLine();
if (!/re/.test(axtext)){
var fso701 = new ActiveXObject("Scripting.FileSystemObject");
var f701 = fso701.OpenTextFile(name701, 8);
f701.WriteLine(axtext);
f701.Close();
++nb;
}
else {
var fso702 = new ActiveXObject("Scripting.FileSystemObject");
var f702 = fso702.OpenTextFile(name702, 8);
f702.WriteLine(axtext);
f702.Close();
++nm;
}
}
f700.Close();
alert ("Совпадений= "+nb+" Пропущено= "+nm);
//alert ("образец re= "+re+"последний из axtext= "+axtext);
alert ("записаны 2 файла отчета на диск с");
}
}Включил создание логов для наглядности, но поиск получается вообще не производится, ничего не отсеялось...
Вывел значение регвыр=
/.*AWW|ARW|ASW|VKW|GPW|GSN|KGW|KMW|KMD|MWW|NVW|NVK|NKW|OVW|OSW|PBW|PGW|PSW|PTW|SSW|TKW|TSW|TXW|EMW|ENW|EOW|ESW.01|03|04|05|06|09.0140|0141|0143|0144|0145|0147|0180|0255......[0-9]*..*/i
даже если вместо спецсимвола - точка, выходит - любой символ, то поиск должен быть произведен..ничего не понимаю..

