Я хочу сделать что-то подобное в Ruby
У меня есть такой текст
some_random_text unit 1 some_random_text chap 3 some_random_text
Теперь я хочу извлечь
some_random_text, 'unit 1', some_random_text, 'chap 3'
Для этого я использую выражение, подобное этому
my_string.split(/(unit[1-9 ]+|chap[1-9 ]+)/)
Я повторяю шаблон [1-9] + как для «юнитов», так и для «парней», потому что если я группирую как
/((unit|chap)[1-9 ]+)/
Возвращает
some_random_text, 'unit', 'unit 1', some_random_text, 'chap', 'chap 3'
в котором есть дополнительные элементы, которые мне не нужны.
Как мне сделать группировку, которая мне нужна?