worsvch
как Вам написал Rumata, для написания регулярных выражений лучше использовать конструкцию / ... / , а не new RegExp( ... ) - запись короче, слеши не надо дублировать. Вариант Вашего рег. выражения - во второй строчке. После его применения в RegExp.$1 - протокол, в RegExp.$2 и RegExp.$3 - IP-адреса, в RegExp.$4 - статус соединения.
//var re = new RegExp('(\\s)*TCP(\\s*)(\\d+\\.)*\\d+:\\d+(\\s+)(\\d+\\.)*\\d+:\\d+(\\s+)(\\w+)');
var re= /\s*(\S+)\s+((?:\d+\.){3}\d+):\d+\s+((?:\d+\.){3}\d+):\d+\s+(\S+)/;
var Protocol , IP1 , IP2 , State;
while (!userlisttmp.atEndOfStream) {
line = userlisttmp.readLine();
if( line.match( re )){
Protocol = RegExp.$1;
IP1 = RegExp.$2;
IP2 = RegExp.$3;
State = RegExp.$4;
if( (Protocol == 'TCP') && (IP1.substr( 0, 9) == '192.168.1')){
// тут что-то, к примеру:
userlist.writeLine( IP1 + ' -> ' + IP2 );
}else{
// тут что-то другое
}
}else{
// тут что-то для случая, если строка не соответствует рег. выражению.
}
/*
if ((str = line.match("TCP","ig")) && (str = line.match("192.168.1","ig")))
{
if (re.exec(str)) userlist.writeLine("OK");
else userlist.writeLine(RegExp.input + " ->BAD");
}
//*/
}
По поводу Вашей функции getFormatDate():
1. .getMonth() - возвращает номер месяца, начиная с НУЛЯ, т.е. 0 - январь, 6 - июль. Имейте ввиду. 
2. строчку
лучше из начала скрипта переставить в начало функции getFormatDate(). Так будет быстрее работать и потом эту функцию будет проще переносить в другие скрипты (не надо будет искать - откуда берётся значение переменной day)