Я хотел бы сделать символ «конец строки» ($) «необязательным» (или нежадным). Это означает, что я хочу захватить определенный шаблон в конце строки или ничего. Это регулярное выражение, которое я построил:
(.+\s*)\s*(?:(\(\s*[xX\*]\s*\d+\s*\))|$)
Я хотел бы захватить такие вещи, как
Incompatible device (x10) ; Boot sequence aborted
Я бы хотел, чтобы здесь была возможность захватить первую строку (Несовместимое устройство (x10)), но если квантификатор (x10) не появляется, чтобы иметь возможность захватить только второй (последовательность загрузки прервана, без (x##)
после него). если я протестирую образец на
boot sequence aborted
Однако он захвачен, если я проверю его на всей строке выше, все захвачено, и мне нужна только часть «Несовместимое устройство».