解決済みの質問
タイトルどおり3回以上改行が続けば、2回にまとめる正規表現を考えています。
処理系は秀丸を使っています。
[第1案]
検索:\n\n+
置換:\n\n
[第2案]
検索:\n{2,}
置換:\n\n
の2つを考えたがいずれも失敗。
他の言語でも汎用的に使えるように正規表現を希望ですがマクロでも可。
秀丸に限らず他のソフトでの解もありますね。
かなり頻繁に使うので何とか自動化したいです。
投稿日時 - 2006-04-22 14:50:28
複数の空白行を1行にまとめるマクロです。
gofiletop;
while (1) {
searchdown "^\\n\\n", regular;
if (!result) break;
down;
beginsel;
while (code == '\r') {
down;
}
delete;
}
投稿日時 - 2006-04-23 17:47:25
お礼
ああ、これを待っていました。
このマクロなら特定文字がデータで使えなくなる事も無いしマクロを呼び出せば簡単に処理できます。
目的が達せたので締め切りたいと思います。
皆様ありがとうございました。
投稿日時 - 2006-04-24 10:08:29
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(2件中 1~2件目)
秀丸ヘルプに下記記載があります
>\n自体を任意の回数繰り返すような正規表現は、期待通りに動作しないことがあります。
>もし「$」で置き換え可能な場合にはなるべく「$」を使うようにしてください。
美しくない方法ですが
置換 \n → $
${4,} → $$$
$ → \n
とすれば、3行以上連続する空行を2行にできます。
投稿日時 - 2006-04-22 15:44:44
お礼
回答ありがとうございます。
なるほどhelpに書いてありました。すみません。
道理で幾ら探してもサンプル例が無いハズです。
対策として\nの代わりの文字として$を使い、ご指定の置換を3回行えば良いと解釈すれば良いでしょうか?
\n→$は出来ましたが、${4,}→$$$でエラーが出るようですが、何か間違ってますか?
手作業で成功すればマクロ化できそうです。
解決の手掛かりを頂いた気がします。ありがとうございます。
なお、引き続き出来れば一遍で処理できる方法をお待ちしております。
投稿日時 - 2006-04-22 16:49:32
OKWaveのオススメ
おすすめリンク