本田です。

--- isawa_kz <isawa_kz / yahoo.co.jp> からのメッセージ:
> 井沢です
> 説明不足で混乱させてしまい、すみませんでした。
> 念のためもう少し状況をご説明します。
> 
> data.txt の状況としては、
> ・「見出し」「内容」には規則性はありません
>  ※見出しと定義する文字列を「見出し」とし、それ以外は「内
容」です
> ・インデントはありません
>   ※一応ありますが規則性がないので意味がありません
> ・今回の処理ではネストの上限は5つぐらいです

簡単でよいので、データになんらかの規則性があるとなんとかなる
のでは。
とりあえず、「見出し」行が「見出し行である」とだけ識別できれ
ば
ずいぶん楽になるような気がします。

例えば、
o 見出し行は決まった文字列で始まる。
  以下の例では "ほげほげ" の部分が実際の見出しとなる文字列。
  
    例1 Title-ほげほげ
    例2 見出し ほげほげ
    例3 T: ほげほげ
    例4 * ほげほげ
    例5 Q ほげほげ
    例6 [ほげほげ]

o 「内容」行はインデントされている。
  見出しのネスト数にかかわらず、例えば1桁だけ空白が入っている
だけでもよい。

  --- data.txt ---
  Title-1
  Title-A
    content1
  Title-B
    content2
    content3
  Title-2
  Title-A
    content4
    content5
  Title-B
    content6
  ----------------

上のdata.txtの場合、見出し行が /^\S+/ で識別できるかな。
見出しが「空白ではない文字列」で始まっているので、裏返すと、
これも「見出し行は決まった文字列で始まる」に該当しますね。

-- Honda Kousuke

--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/