- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:正規表現で特定文字列を含まない行を削除したいのですが)
正規表現で特定文字列を含まない行を削除する方法
このQ&Aのポイント
- 正規表現を使用して、特定の文字列を含まない行を削除する方法について説明します。
- テキストエディタ mi を使用して、正規表現を使って「※補足」という文字列を含む行だけを残し、他の行を削除する方法について説明します。
- 具体的な検索文字列と置換文字列の設定方法について説明し、また、問題が発生している場合の対処法を説明します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
mi の正規表現対応はクセがあるので、一般向けの記述が当てはまらない場合があります。 例えば「^.*※補足.*\n」→「」が機能しないのは、mi では改行コードを \r とすることになっているからです。「^.*※補足.*\r」→「」とすれば「※補足」を含む行を空白に変えてくれるはずです。 「^(?!.*\※補足).*$」が意図した通りに動かない理由も、多分何かの仕様の違いでしょう。試しに Jedit X で実行してみたら、ちゃんと「※補足」を含まない行を空白に変えてくれましたので、正規表現の文法自体は一般に通用するものです。
お礼
早々のご回答をどうもありがとうございます。 何と! 仕様の違いなんてあったんですね。 なるほど、Jeditを試用版でもらってきて試してみたところ、確かに機能しました。 検索してみたところ、miの正規表現一覧なるページも見つかりました。 色々試してみたところ、Dreamweaverで使ったことのある正規表現が、今度はJeditで通用しませんでしたし、一口に正規表現と言ってもアプリケーションごとに互換性がない部分があるとは知りませんでした。 いやー、知識が浅すぎました。 どうもありがとうございました。