- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現について2)
正規表現について2
このQ&Aのポイント
- 前回の問題に関連して、data.txtの先頭が空行の場合でも同じ結果を得たいです。
- data.txtの先頭が空行の場合にも、正規表現を使用して上記の結果を得る方法を教えてください。
- data.txtが空行で始まっていても、期待する結果を得るにはどうすればいいですか?
- みんなの回答 (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
お礼
早いご回答どうもありがとうございます。 教えていただいた方法で、うまく結果が得られました!ご親切に書いて頂き感謝します。 ?正規表現?はそういった性質があるのですね。 どうもありがとうございました。