Это довольно сложное регулярное выражение (может быть, для меня), поэтому, надеюсь, мое объяснение будет ясным.
Характеристики:
Первое двоеточие после квадратной скобки
[1234]:
‹- Это первое двоеточиеСопоставление строки после третьего двоеточия и до четвертого двоеточия
[1234]: abc : 0 : xyz :
‹- будет соответствоватьxyz
, потому что это после 3-го двоеточия и до 4-го двоеточияИ если у него нет другого двоеточия после 1-го, он будет соответствовать всей строке после 1-го двоеточия после квадратной скобки
[1234]: abc def ghi
‹- Он будет соответствовать всей строкеabc def ghi
после 1-го двоеточия, поскольку это не так. т есть еще двоеточие.
Несколько примеров ниже:
xxxx[2114]: отладка: 0: ABC::CheckIdleTimeout(): слот=2 0x00000000 RC_OK
Должен соответствовать только ABC
xxxx[13312]: информация: 0: логин пользователя: admin: xx.xxx.xx.xx/123
Должен соответствовать только логин пользователя
xxxx[12898]: pam_unix(sshd:session): сеанс открыт для администратора пользователя
Должен соответствовать сессии, открытой только для пользователя-администратора.
xxxx[12898]: Принятый пароль для администратора от порта xx.xxx.xx.xx 123
Должна соответствовать всей строке после двоеточия Принятый пароль для администратора от xx.xxx.xx.xx порт 123
======
То, что у меня есть сейчас, вероятно, не поможет, но, возможно, это может стать отправной точкой для вас.
\[(.*?)\]:\s(\w.*)
Соответствует только строке после [xxxx]:
Я использую рубиновое регулярное выражение.