0
Я хотел бы разобрать текст и разделить его на задачи и подзадачи:Разбивает строку многократного регулярного выражения в Руби
'Asubsubsubtask:Bsubtask:Ctask:D'.split(/((sub)*task)\:/i)
#=> ["A", "subsubsubtask", "sub", "B", "subtask", "sub", "C", "task", "D"]
Последняя часть результирующего массива не соответствует и не позволяет мне используйте #each_slice(3)
, обрабатывая массив.
Что вы предлагаете мне использовать вместо сопоставления каждого элемента массива с похожим регулярным выражением?
EDIT1:
Более подробный пример:
Task: Main
description
Defaults: some params
Subtask: Basic
description
Options: A B C
Subsubtask: Reading
description
Parameters: some params
и я стараюсь, чтобы разделить его на /^((sub)*task)\:/i
@marcog, спасибо ! В моем тексте есть другие ключевые слова, которые я хотел бы проанализировать после разделения на задачи. Общая форма '/^([a-z]) \:/i' – Andrei
@Andrei Где другие ключевые слова? Приведу пример. – marcog
@marcog, Просто сделал это. Пожалуйста, ознакомьтесь с обновленным вопросом! Я думаю, что лучше разбивать 'task', а затем каждый из них на' (sub) * task' - тогда проблема решается. – Andrei