В Ruby я пытаюсь извлечь из текста строку, которая запускается с того, "кого" и заканчивает первым из любого")", или "когда" (но не включает")" или "когда").
Я попробовал следующее:
who.*(?=when\b|\))
который приводит случай к сбою, где он находит и "когда" и")".
Какие-либо идеи?
Большое спасибо
Вам необходимо сделать вашу часть . *
нежадной.
Попробуйте это регулярное выражение:
who.*?(?=when\b|\))
(who.*?)(when|\))
Думаю, это должно сработать. $1 будет вашей строкой.