У меня есть следующая строка, которую я хочу разделить с использованием регулярных выражений:Regex - матч до следующего матча в группах
Connect: Unable to open connection to server. HOST:(servernamex) SERVICE:(cnxadaB0) DATABASEINFO:(3 255 C:\DATABASENAME.DAT) ERROR:RemoteConnect: SocketError(10061) The CONNX Listener process (CNXRUN##_MAIN) is not running on the system.
Регулярное выражение я придумал до сих пор выглядит следующим образом:
(\s|^)([A-Z]\w\w+:(?!(\s[A-Z]\w\w+:)))
Когда я бегу регулярное выражение, я получаю следующий результат:
MATCH 1 1. '' 2. 'Connect:' MATCH 2 1. ' ' 2. 'HOST:' MATCH 3 1. ' ' 2. 'SERVICE:' MATCH 4 1. ' ' 2. 'DATABASEINFO:' MATCH 5 1. ' ' 2. 'ERROR:'
Я хочу, чтобы разделить его с помощью регулярных выражений, чтобы сгруппировать данные для меня следующим образом:
MATCH 1 1. '' 2. 'Connect:' 3. 'Unable to open connection to server.' MATCH 2 1. ' ' 2. 'HOST:' 3. '(servernamex)' MATCH 3 1. ' ' 2. 'SERVICE:' 3. '(cnxadaB0)' MATCH 4 1. ' ' 2. 'DATABASEINFO:' 3. '(3 255 C:\DATABASENAME.DAT)' MATCH 5 1. ' ' 2. 'ERROR:' 3. 'RemoteConnect: SocketError(10061) The CONNX Listener process (CNXRUN##_MAIN) is not running on the system.
образца с тем, что я играл с: regex101 demo