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
나는 두 split
통화로를 분리 /^((sub)*task)\:/i
@marcog, 감사 ! 필자의 텍스트에는 다른 키워드가 있는데, 필자는 태스크로 분할 한 후 구문 분석하려고합니다. 일반 형식'/^([a-z]) \ :/i' – Andrei
@Andrei 다른 키워드는 어디에 있습니까? 예를 들어주십시오. – marcog
@marcog, 그냥 해 봤어. 업데이트 된 질문을 참조하십시오! 나는 '태스크'로 나누고 각각을'(하위) 태스크 '로 나누는 것이 더 나을 것이라고 생각한다. 문제가 해결된다. – Andrei