さくらエディタと秀丸との正規表現の違い

このQ&Aのポイント
  • さくらエディタと秀丸エディタの正規表現の違いについて調査しました。
  • サクラエディタと秀丸エディタでの改行置換の挙動に違いがあることを確認しました。
  • 改行をカンマに置き換えるプロセスで、サクラエディタと秀丸エディタで異なる結果が得られることがあります。
回答を見る
  • ベストアンサー

さくらエディタと秀丸との正規表現の違い

こんにちは。サクラエディタと秀丸エディタを使っています。普段は秀丸エディタを使用しています。本日たまたまサクラエディタを使って、以下の文字を置換しようとしました。「\n」→「,」。 abced\n fghijk\n fddsafafa\n \nは改行と思ってください。これをやると下記のように置換されました。 abced\n ,fghijk\n ,fddsafafa\n しかし、秀丸で同じようなことをやると、 abced,fghijk,fddsafafa, っとなります。なぜこのような違いが起きるのでしょうか?やりたいことはいたってシンプルで、改行をカンマに置き換えたいといったことだけですのに。 以上、よろしくお願いします。 ,

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

  • ベストアンサー
回答No.2

[ヘルプ]で説明されていますので、調べてほしかったですね。 インストールしたヘルプにも、こちら↓と同じような説明が あるかと。 「設定(O)」メニューに改行についての設定項目があります。 【入力改行コード指定】 http://sakura-editor.sourceforge.net/htmlhelp/HLP000285.html 初期設定では CRLF で改行を指定しています。 改行については、基本的には \r\n で指定できます。 【利用可能な正規表現】 http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html こちら↑でスクロールして一番下に説明があります。

mellow91
質問者

お礼

ありがとうございます!

その他の回答 (1)

  • 4017B
  • ベストアンサー率73% (1303/1774)
回答No.1

サクラエディタは使った事がないので当てずっぽうですが…。 多分、改行コードの「LF」と「CR+LF」をうまく識別出来てなかったんじゃないかと思われます。 ですので… ・\n → \r\n ~と言う風に書き直してやれば、きちんと改行として認識して、置換処理がなされるんじゃないでしょうか? もしくは、 ・\n → [\r\n]+ ~と言う風にしないと反応してくれないかも? P.S. 「秀丸」はWindows専用ソフトなので改行を全て一緒くたに考えますが、サクラエディタはMacやUnixなどの改行コードも厳密に区別して処理する様にプログラムされてるんだと思います。

mellow91
質問者

お礼

ありがとうございます!

関連するQ&A

  • 秀丸エディタの正規表現

    秀丸エディタの正規表現 これから述べる置換処理について教えてください。 条件を表現します。 まず半角空白文字を _ このように全角アンダースコアであらわします。 そしてマッチさせたいSTRINGは _ このように半角空白文字がそれ以外の文字に前後をはさまれている状態ではなくて、 、 __ このように半角空白文字二個もしくは二個以上続いたものが半角空白文字以外に挟まれているパターンです。 。 ちなみに置換後の文字列は __ ですつまり空白半角文字列二個です。 よってこの質問は次のようにも言い換えられます。 。 検索文字列 半角空白文字二個以上 を置換後文字列 半角空白文字二個に置き換える。もしくは、半角空白文字三個以上を 置換後文字列 半角空白文字二個に置き換える。 というのが質問です。おねがいします。 すみませんつけたしです。上記を実現する正規表現を教えてください。

  • さくらエディタでの正規表現マクロ

    正規表現でタブ区切りの文字列の順序を入れ替える作業を試みています。 AAA BBB CCC PPP QQQ RRR のような文字列を BBB CCC AAA QQQ RRR PPP のように2列目、3列目、1列目のように順番を入れ替えたいです。 VBScriptで1行ずつ読み込み、タブを区切り文字として、配列に放り込み、配列の順番を指定して出力すればなんとか対応できるのですが、どうしてもさくらエディタで実装したいのですが、正規表現を駆使して対応できないものでしょうか? 検索により、パターンにマッチする部分は正規表現で2列目とか3列目というのは書けるのですが、パターンマッチだけで、置換後の文字列に変数などを使用できず苦しんでいます。 正規表現を用いていれればいいし、無理なら、さくらエディタで秀丸のように配列やFOR文などを使いたいのですが、使い方がわからず、質問しました。 ご存知の方がいらっしゃれば、教えてください。

  • 秀丸での正規表現

     秀丸エディタVersion 7.11、HMJRE.DLL V1.92 を使用しています。  下記上のような4行のテキストファイルから、数字以外で始まる行を空行に置換しようと思い、検索文字列を「^[^0-9].*」、置換文字列を「」(なし)に設定したのですが、3行目のx だけからなる行は削除されませんでした(下記下のようになりました。このとき、カーソルは変換後の2行目の一番左のx の右側にあります)。 置換前 >11111 > >xxxxx >[EOF] 置換後 >11111 >xxxxx カーソルは左端のx の右側 >[EOF]  11111 とxxxxx の間にもう1行空行を入れると、所望の動作となります。  正規表現の指定が間違っているのでしょうか。

  • 秀丸での正規表現を使用した置換

    いつもお世話になっております。 秀丸で正規表現を使用した置換処理を行いたいと思うのですが、どうしても正規表現の式が書けません。 どうかご教示下さい。 <置換前> ABC1 あAbCd++ ... ... ・先頭4文字は半角英数字の大文字固定 ・その後ろにタブ ・最後にかな、英数字、記号などの可変長の文字列 上記で1レコードです。 <置換後> ABC1 String 内容 あAbCd++ ... ... ・先頭4文字そのまま ・その後ろにタブを3つ+改行 ・続いて「内容」という文字列+改行 ・最後に可変長の文字列をそのまま+改行 「置換」の正規表現は以下だと思うのですが、英数字4文字と可変長文字列を別々にマッチさせる「検索」がどうしても分かりません。 \0 String\n内容\n\1\n どうかご教示下さい。 <環境> Ver.6.1.4

  • 秀丸エディタを使って

    秀丸エディタを使って文章中に ( の文字があるところを行頭にしたい つまり( の直前で改行したいのですが どのようにすればいいでしょうか。

  • 秀丸の正規表現について

    秀丸の正規表現で困っています。 改行ありのタグを抜かして改行のないタグだけを検索して置換したいのです。 <メール><ブログ>hogehogeなんちゃら</ブログ></メール> ↓ <教えて><goo>hogehogeなんちゃら</goo></教えて> は 検索:<メール><ブログ>(.+?)</ブログ></メール> 置換:<教えて><goo>$1</goo></教えて> で 置換できますよね。 でわ、 <メール><ブログ>hogehogeなんちゃら</ブログ></メール> <メール><ブログ> fumfumuなんちゃら fumfumuなんちゃら</ブログ></メール> ↓ <教えて><goo>hogehogeなんちゃら</goo></教えて> <メール><ブログ> fumfumuなんちゃら fumfumuなんちゃら</ブログ></メール> とhogehogeなんちゃらのタグだけ変えるには 検索と置換をどうしたらよいのでしょうか? 検索だけなら 検索:<メール><ブログ>[^\n]+</ブログ></メール> でできるようですが、置換もするとなると どのように検索と置換をすればよいのでしょうか?

  • 秀丸での,の改行への置換

    テキストファイルの変換に困っています. 1,2,3,4 5,6,7,8 というデータを 1 2 3 4 5 というように置換操作でカンマ→改行にしたいと 思っています. 秀丸で,→\nをすればできると思っていましたが(以前はそうしていた) 違うPCに秀丸を最新でいれたところできなくなっていました。 何か間違っていたのでしょうか? わかるかたお教えください

  • 秀丸エディタの正規表現

    秀丸エディタの正規表現の機能を使って、次のような置換を考えています。 変更前 <A>hoge hoge PINEAPPLE hoge hoge PINEAPPLE hoge hoge</A> <B>hoge hoge PINEAPPLE hoge hoge PINEAPPLE hoge hoge</B> 変更後 <A>hoge hoge PINEAPPLE hoge hoge PINEAPPLE hoge hoge</A> <B>hoge hoge パイナップル hoge hoge パイナップル hoge hoge</B> 以下のようなものを試してもできませんでした。 検索 ^(<B>.*?)PINEAPPLE 置換 \1パイナップル このような変更を一度の置換で実現する正規表現はありますでしょうか。

  • 正規表現について教えてください。

    Perlとは関係ないのですが、正規表現での置換ができるエディタで改行二つを一つにしたいです。 置換前 \n\n 置換後\n としてみたのですがうまくいきません。まちがってたら教えてください。 CRLFとか気にしないといけないのかな。

    • ベストアンサー
    • Perl
  • 秀丸エディタ タブをカンマに置換したい

    秀丸エディタで、タブをカンマに置換したいのですが可能でしょうか。 ちなみに、「 \t 」 で検索しても、ヒットしません。 どなたかわかる方がいらっしゃいましたら、 ご回答よろしくお願いします。

専門家に質問してみよう