Есть работающий скрипт для поиска и замены строк.
Однако при использовании регулярного выражения
^[^@]+\n
выявляющего строки не содержащие символ @
этот скрипт перестает работать в форме *.js и непредсказуемо работает внутри html
var fso = new ActiveXObject("Scripting.FileSystemObject");
var list = fso.OpenTextFile("D:\\list.txt", 1, true);
var rest = /^[^@]+\n/g;
while (!list.AtEndOfStream) {
var file = list.ReadLine();
var myInputTextStream = fso.OpenTextFile(file, 1, true);
var myOutputTextStream = fso.OpenTextFile(
file.slice(0,-4) + "0.txt"
, 2, true);
myOutputTextStream.Write(
myInputTextStream
.ReadAll()
.replace(rest, "")
)
myInputTextStream.Close();
myOutputTextStream.Close();
}
list.Close();
Здесь list.txt содержит список обрабатываемых файлов.
При этом регулярка работает в Notepad++ и в EmEditor
Та же ситуация с регулярным выражением
^(?!.*@).*$
для тех же целей
Оба выражения можно переориентировать с поиска строк не содержащих собаку на то же самое с решеткой, долларом и др.спецсимволами.
Как заставить их заработать и в чем причина?