ゆきんこの勉強法 | 自修人

unchain yourselves

30 Aug 2020

サクラエディタは複数行にわたる置換ができない|[鬼雲\r\n鬼雲]がヒットしない

この記事の[正規表現]とはサクラエディタに付いている正規表現エンジン〔bregonig.dll with Onigmo〕の正規表現です

K.Takata's software: bregonig.dll

Onigmo文字コードプロパティ

Onigmo/UnicodeProps.txt at master · k-takata/Onigmo · GitHub

文字コードプロパティ


サクラエディタ|正規表現|約物|[\p{P}]

[\p{P}]

サクラエディタ|正規表現|カタカナ|[\p{Katakana}ー]

[\p{Katakana}ー]
[\x{30A1}-\x{30FA}]

漢字、ひらがな、カタカナにマッチさせる方法 | 正規表現

サクラエディタ|正規表現|ひらがな|[\p{Hiragana}ー]

[\p{Hiragana}ー]
[\x{3041}-\x{3096}]

漢字、ひらがな、カタカナにマッチさせる方法 | 正規表現

サクラエディタ|正規表現|サロゲートペアの漢字|[\x{2000B}-\x{2A6B2}]

[\x{2000B}-\x{2A6B2}]

サロゲートペア - 闘うITエンジニアの覚え書き
Pre-Practice Blog: 文字列の中から漢字を抽出する正規表現を考えてみる /[々〆〇〻㐂-頻]+/g
Unicodeで「漢字」の正規表現 – ものかの

サクラエディタ|正規表現|漢字〔サロゲートペアの漢字を含む〕|[\x{3005}\x{3006}\x{3007}\x{303B}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{2000B}-\x{2A6B2}]

[\x{3005}\x{3006}\x{3007}\x{303B}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{2000B}-\x{2A6B2}]

サロゲートペア - 闘うITエンジニアの覚え書き
Pre-Practice Blog: 文字列の中から漢字を抽出する正規表現を考えてみる /[々〆〇〻㐂-頻]+/g
Unicodeで「漢字」の正規表現 – ものかの

サクラエディタ|正規表現|漢字でない文字|(?![\x{3005}\x{3006}\x{3007}\x{303B}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{2000B}-\x{2A6B2}])

(?![\x{3005}\x{3006}\x{3007}\x{303B}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{2000B}-\x{2A6B2}])

正規表現と文字種

[¥t] → [\t]という文字変換によって、ATOKなどの辞書に登録することが可能です。

かんじ¥t    [\x{3005}\x{3006}\x{3007}\x{303B}\x{3400}-\x{9FFF}\x{F900}-\x{FAFF}\x{2000B}-\x{2A6B2}]¥t名詞*
ひらがな¥t[\x{30A1}-\x{30FA}]¥t名詞*
かたかな¥t[\x{3041}-\x{3096}]¥t名詞*

正規表現|[文字列の先頭]に[^]ではなく[\A]を使う|[文字列の末尾]に[$]ではなく[\z]を使う

正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう | 徳丸浩の日記
正規表現がわからないときは文字コードがヒントになる - Qiita

サクラエディタ|正規表現|改行だけの行〔CRLF〕【Windows】

\A\r\n+\z

サクラエディタ|正規表現|マクロ|改行だけの行〔CRもCRLFもLFも〕【macOSもWindowsもLinuxも】の削除

S_ReplaceAll('\A[\r\n]+\z', '', 44); 
S_ReDraw(0);

※【注1】

【注1】

※以上のコードを[YOUR-FAVORITE-NAME.mac]というファイル名で保存して、[C:\Users\YOUR-ACCOUNT\AppData\Roaming\sakura]に保存し、サクラエディタの[ツール(T)]>[名前を指定してマクロ実行(E)]の中で該当ファイルを[左クリック]〔ダブル〕して実行。

サクラエディタは複数行にわたる置換をする方法|[改行コード]を[任意の文字]に変換する

サクラエディタで複数行(改行をまたぐ)の検索、置換をしてみる | ひま缶
サクラエディタ 複数行検索・置換 | ALIS

サクラエディタ|正規表現|マクロ|空行の削除|S_ReplaceAll('^[\r\n]+', '', 44);

S_ReplaceAll('^[\r\n]+', '', 44); 
S_ReDraw(0);

※【注1】

S_ReplaceAll
サクラエディタの置換オプション | You Look Too Cool

改行コードをCRLF〔Windows〕に統一するマクロ

S_SelectAll(0); // すべて選択
S_CopyCRLF(0);  // CRLF改行でコピー
S_Paste(0); // 貼り付け

※【注1】

S_ReplaceAll
サクラエディタの置換オプション | You Look Too Cool

S_SelectAll(0); // すべて選択
S_CopyCRLF(0); // CRLF改行でコピー
S_Paste(0); // 貼り付け

引用元: sakuraエディタマクロ(json整形、マークダウン形式変換、改行統一、デコード) - Qiita

サクラエディタで使える正規表現のメモ - Qiita
改行コード一覧 - Qiita

サクラエディタの置換オプション | You Look Too Cool

サクラエディタ|マクロ|余計な行を削除する

サクラエディタBBS

サクラエディタ|正規表現|マクロ|[半角スペースまたはタブ]だけで構成された行を[空行]にする

S_ReplaceAll('^[ \t]+([\r\n])', '$1', 44); 
S_ReDraw(0);

※【注1】

サクラエディタ|正規表現|マクロ|[半角スペースまたはタブ]だけで構成された行を[行削除]する

S_ReplaceAll('^[ \t]+[\r\n]+', '', 44); 
S_ReDraw(0);

※【注1】

サクラエディタ|正規表現|マクロ|[空行]を[行削除]する

S_ReplaceAll('^[\r\n]+', '', 44); 
S_ReDraw(0);

※【注1】

サクラエディタ|正規表現|マクロ|[半角スペースまたはタブ]だけで構成された行も、[空行]も、ともに[行削除]する|論理和〔or〕

S_ReplaceAll('^[ \t]*[\r\n]+', '', 44); 
S_ReDraw(0);

※【注1】

サクラエディタ|正規表現|[■以外]で始まる行を削除する正規表現

(1)サクラエディタ|正規表現|[■以外]で始まる行を削除する正規表現

^(?!■).+$

(2)サクラエディタ|正規表現|[■以外]で始まる行を削除する正規表現

^((?!■).)*$

サクラエディタで使える便利な正規表現3選 – サイゼントの技術ブログ

サクラエディタ|正規表現|文字種

サクラエディタ|正規表現|文字種|全角文字

[^\x00\x00-\x7F\x00\x61\xFF-\x9F\xFF]

[^\x00\x00-\x7F\x00\x61\xFF-\x9F\xFF]

引用元: サクラエディタ:全角文字の検索方法(怒られ・半角カナ回避版) - 技術とか戦略とか

引用元さまに感謝申し上げます。