Хотите соответствовать тому, что после «субъект» или «Subject:», но только на этой линии
Я хочу найти все строки для объекта или предмета:
Но если остальная часть линии является пустым не соответствуетRegex не матч на следующую строку
(?i)(?<=\bSubject:?\s+).+$
образец текста
Subject: Pat Sanders
(разрыв строки между Subject: и Pat)
Это регулярное выражение соответствует Пэт Сандерс.
Поскольку он находится на следующей строке, я НЕ хочу, чтобы он соответствовал.
Регулярное выражение компилируется с RegexOptions.Multiline
Я думаю, что .+
жаден и потребляя разрыв строки.
Это работает в том, что он соответствует только на текущей строке:
(?i)(?<=\bsubject:).+?$
Но это не работает:
(?i)(?<=\bsubject:?).+?$
ретроспективный обзор не потребляет:
В: включено в матч
я уже связал это. Это приводит к тому, что разрыв линии не является частью матча, но он по-прежнему соответствует Пэт Сандерс. У Пит Сандерса нет разрыва линии. – Paparazzi