• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現について2)

正規表現について2

このQ&Aのポイント
  • 前回の問題に関連して、data.txtの先頭が空行の場合でも同じ結果を得たいです。
  • data.txtの先頭が空行の場合にも、正規表現を使用して上記の結果を得る方法を教えてください。
  • data.txtが空行で始まっていても、期待する結果を得るにはどうすればいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.1

えーと 空行の扱いがよくわからなかったので,必要に応じて適切に変更してください。 空行(スペースのみの行もふくむ)はすべて出力には出したくない → ##1のコメントをはずす 入力の先頭の連続した空行のみ出したくない → ##2のコメントをはずす あと?正規表現? は,一度マッチしたら reset が呼び出されるまではマッチしないという性質があるほかは, /正規表現/ とおなじです while (<DATA>) { ##1 next if (/^\s*$/); ##2 next unless (!/^\s*$/ .. -1); if (?aaa(.*)ccc?) { $output1 = $1; s/aaa(.*)ccc/$1/; } print; } print "IE出力=$output1"; __DATA__ aaabbbccc aaadddccc aaaeeeccc

yukito-
質問者

お礼

早いご回答どうもありがとうございます。 教えていただいた方法で、うまく結果が得られました!ご親切に書いて頂き感謝します。 ?正規表現?はそういった性質があるのですね。 どうもありがとうございました。

関連するQ&A