すみません。ご教授ください。
3000行程あるテキストファイルの処理を行っています。
全ての行を読み込み、必要な情報がある行に関しては、
if文とeregを使用して行番号を抽出しているのですが、
eregでのマッチングが出来てる行と出来ない行があります。
記述は以下のように、#や|、半角スペースなどが混じる文字列になります。

if ( ereg("aaa# /aaa/bbb | ccc ddd", $line[$i]) ) {
$test = $i;
} elseif ( ereg("eee# /fff/ggg | hhh iii", $line[$i]) ) {
$test2 = $i;

マッチングしない行が特に、他と大きく異なって
特別な記号などを使用している訳では無く原因がつかめません。
対処法をご教授頂けないでしょうか。よろしくお願いします。