Как я могу скорректировать мой положительный прогноз RegEx?

У меня очень простой вопрос о моем позитивном взгляде, но я не понимаю.

Моя строка выглядит так:

вызвано: System.StringException: неверный идентификатор: 3285673465734

И я использую этот RegEx:

caused by: (.+(?=:)): (.+)[\s]+

Я хочу иметь эти группы:

  1. System.StringException
  2. Неверный идентификатор: 3285673465734

но положительный взгляд отделяет строку на втором ':', и я получаю следующие группы:

  1. System.StringException: неверный идентификатор:
  2. 3285673465734

Как я могу настроить мой RegEx?

2 ответа

Решение

Lookahead здесь даже не нужен, вы можете упростить свое регулярное выражение до:

caused by: +([^:]+): +(.+)

RegEx Demo

Вы можете использовать это (без предварительного просмотра)

caused by: ([^:\n]+): (.*\S)
Другие вопросы по тегам