Я пытаюсь создать regEx, который может сопоставить всю вышеуказанную строку в отдельные группы:
Пример сообщения: 2019-10-07 11:13:19.75 New York America INFO Server is connected. Server Id [34] Address [127.0.0.1:54266]
РЕДАКТИРОВАТЬ: группы разделяются несколькими пробельными символами вминимум 2 пробельных символа, но обычно 3.
РЕДАКТИРОВАТЬ 2: заключенные в квадратные скобки термины в части сообщения могут вообще не отображаться, или один может появляться без другого, или они могут появляться в другом порядке.
Группа 1: 2019-10-07 11:13:19.75
Группа 2: New York
Группа 3: America
Группа 4: INFO
Группа 5: Server is connected. Server Id [34] Address [127.0.0.1:54266]
Я также пытаюсь выбрать что-нибудь в квадратных скобках ([]), а также специальный регистр соответствия для IP-адресов. Это не должно быть включено в то же регулярное выражение, хотя. Но было бы неплохо, если бы это было возможно.
Я смог сопоставить отдельные группы, но, похоже, я не могу заставить все это идти в одну строку.
Вот что у меня так далеко:
Группа 1: /[0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{2}/
Группа 2: /(?<=\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{2}.*)\S+/
Группа 3: /(?<=\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{2}.*\S.\s{3}).?\S+/
Группа 4: /(?<=\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{2}(.*\S.\s{3}){2}).?\S+/
Группа 5:/(?<=\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}\.\d{2}(.*\S.\s{3}){3}).*/
Любая помощь будет принята с благодарностью.