Разделение сложного текста на куски

помогите, пожалуйста, разобраться, как можно разделить указанный текст на части?

1   F1
(ген I               фактора свёртывания крови)
Thr312Ala   I фактор свёртывания крови регулирует последний этап коагуляционного каскада, влияет на образование «белого» тромба. Аллель Ala связан с риском возникновения сердечно-сосудистых заболеваний.  Thr/Ala (n)
2   F2
(ген II                фактора свёртывания крови-протромбина) 
G20210А Один из основных факторов системы свертывания крови.  Наличие аллеля «риска» A повышает уровень протромбина в плазме на 30%, увеличивает риск возникновения венозных тромбозов, ишемического инсульта, развития тромбоэмболии (в три раза). G/G
(+/+)
3   F5
(ген V           фактора свёртывания крови) 
G1691A
(мутация Лейдена)   Продукт гена является ответственным за превращение протромбина в активный фермент тромбин. Аллель «риска» A «-» может явиться основой для развития тромбоза вен нижних конечностей, тромбозов церебральных сосудов, артериальных тромбозов в молодом возрасте и ишемического инсульта. Гетерозиготное носительство  ассоциировано с 2–7-кратным повышением риска  тромбозов,  гомозиготное  носительство – с 40–80-кратным. G/G

В данном примере 3 части, каждая из которых пронумерована - 1,2,3. Каждая часть всегда начинается с новой строки и с цифры.

В каждой части предмет интереса - название гена (указан в начале части сразу после её номера, например, F1, F2 и F5), а так же аллельный вариант, который указан в конце каждой из частей (например,Thr/Ala, G/G, G/G). В самом конце в скобках указывается значимость (например +/+, n), она может быть сразу после аллельного варианта через пробел или же на другой странице, или её может не быть

В итоге нужно получить массив вида

[
    ['F1', 'Thr/Ala'],
    ['F2', 'G/G'],
    ['F5', 'G/G'],
]

Пробовал разделить регулярным выражением по первой цифре и табу preg_grep('/\d\t*/', explode("\n", $input_lines));, но он не делит на 3 части.. Как быть?


Ответы (0 шт):