Я пытаюсь получить строки из строкового параметра и скопировать их в новую строковую переменную.Эта логика будет выполняться до тех пор, пока новая строка не будет соответствовать определенному выражению регулярного выражения.
По какой-то (неизвестной мне) причине вывод - это то, что я ожидал ....
Это код:
matchRegexExp(log: string) {
let regexString = /(?:\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})[\s\S]+?((?=\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})|$)/g;
return log.match(regexString);
}
}
private createString(string1: string) {
let i: number = 0;
let readLine: string[] = string1.split('\n');
let x: string ='';
while (this.matchRegexExp(readLine[i]) == null) {
console.log('regex expression returns... ' + this.matchRegexExp(readLine[i]));
console.log('current line content is... ', readLine[i]);
console.log('x is = ', x);
x = x + readLine[i];
console.log('new x is ',x , '\n');
i++;
}
console.log('final x is = ', x, '\n');
return x;
}
Это данные из строки1:
ana
has
apples
and
oranges
2019-01-01 11:11:11 INFO ThisApp - Started App
Строки, которые не соответствуют моему выражению регулярного выражения и которые должны быть скопированы в строку,:
ana
has
apples
and
oranges
Но когда я запускаю код ... я получаю этот "странный" вывод:
regex expression returns... null
current line content is... ana
x is =
ew x is ana
regex expression returns... null
current line content is... has
x is = ana
as x is ana
regex expression returns... null
current line content is... apples
hass = ana
pplesis ana
regex expression returns... null
current line content is... and
apples ana
nd esis ana
regex expression returns... null
current line content is... oranges
and es ana
oranges ana
orangess = ana