Как игнорировать пробелы в начале каждой строки
При поиске строки использую след. регулярное выражение
Regex RegexPattern = new Regex(@"^Link is down for (?<day>.*)$\n",
RegexOptions.Compiled | RegexOptions.Multiline);
Match match = RegexPattern.Match(result);
Console.WriteLine(match.Groups["day"].Value);
но так не находит ,а находит если убрать 2 пробельных символа
Есть след. строка для парсинга:
show interfaces GigabitEthernet 1/0/20
gigabitethernet1/0/20 is down (not connected)
Interface index is 68
Hardware is gigabitethernet, MAC address is e8:28:c1:36:31:22
Interface MTU is 1500
Link is down for 75 days, 1 hours, 33 minutes and 42 seconds
Flow control is off, MDIX mode is unknown
Ответы (1 шт):
Автор решения: Wiktor Stribiżew
→ Ссылка
Вы можете использовать
^[^\S\r\n]*Link is down for (?<day>.*)
// или
^[\s-[\r\n]]*Link is down for (?<day>.*)
// или
^[\p{Zs}\t]*Link is down for (?<day>.*)
В этом регулярном вырадежении
[^\S\r\n]*находит ноль и более символов, отличных от непробельных символов, а также символов перевода строки LF и CR[\s-[\r\n]]*- то же, что и шаблон выше (ноль и более пробельных символов за исключением символов перевода строки LF и CR[\p{Zs}\t]*- ноль и более "горизонтальных" пробельных символов + символ табуляции (по неизвестной мне причине\tне входит в символьный класс Юникода\p{Zs}).