dúvida com REGEX

Senhores,

Tenho que tatar a seguinte lista:

ID        | Name      | Main Mode   | Equip State | Alarm Sev | Prop Alarm Sev | User Label | Service Label | Description

----------+-----------+-------------+-------------+-----------+----------------+------------+---------------+------------

fan       | FANU4     |             | Ok          | cleared   | cleared        |            |               |            

multicast |           |             |             | cleared   | cleared        |            |               |            

services  |           |             |             | cleared   | cleared        |            |               |            

unit-1    | SUAD1 R3B | suad1_r3c05 | Ok          | cleared   | major          |            |               |            

unit-2    | SUPC3 R1A | supm3_r3d01 | Ok          | cleared   | cleared        |            |               |            

Onde me interessa só as linhas que começam com a palavra unit, dentro dessa linha tenho que pegar os seguintes valores: Numero da Unit, Nome ex: SUAD1 R3B e depois o status no caso o a palavra OK.

Já tentei de várias formas, a unica coisa que consigo pegar é o numero da Unit, veja o que eu tentei para pegar somente como teste o numero e o nome da unit:

unit-(\\d*)\\s+|(\\.*)|\\*

o resultado vem da seguinte forma:

1
null
2
null
3

Alguem pode me ajudar?

att,

Paulo
[/code]

para cada linha:

if (!linha.matches("^unit.*"))
    continue;

String[] tokens = linha.split("\\|");

tokens[1] seria o nome e tokens[3] seria o status.

unit[^\n]*

RegExp pra você pegar a linha se necessário.