• ベストアンサー

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

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

  • Perl
  • 回答数3
  • ありがとう数2

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

  • ベストアンサー
  • Werner
  • ベストアンサー率53% (395/735)
回答No.3

> http://members.at.infoseek.co.jp/sakura_editor/faq.html より引用。 | 正規表現を複数行にマッチさせるには? | [類似質問] | 改行をまたぐ正規表現を作るには? | できません.ごめんなさい.JRegex を使った改造版を(全略)さんが公開されており,そちらでは複数行マッチが可能です. というわけで、サクラエディタでは行をまたぐ置換はできません。 > たしか\nを置換してみたら↓が→になりました。 > のでCRを表す文字があるのかなとか。 CRLFにマッチさせるには \r\n を使ってください。

その他の回答 (2)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.2

エディタによっては複数行のマッチングがそもそもできないものもありますが、それは大丈夫ですか?

milkldap
質問者

お礼

ありがとうございます。 対象はsakuraエディタです。 どうでしょうか? たしか\nを置換してみたら↓が→になりました。 のでCRを表す文字があるのかなとか。

回答No.1

改行文字が間違っていませんか? OSによって「CR」だけとか「CR」「LF」とかあるので正しく置き換えれば上手くいくと思いますよ。

関連するQ&A

  • 正規表現で改行が3個続いてたら、それを削除する書き

    検索とか置換えで、正規表現で、改行が3回続いていたら、それを削除する書き方ってあるでしょうか? 試して見てるのですが、改行が全部消えてしまい、うまく思い通りにいきません。 検索:^\n 置換: とかだと、改行が全部なくなってしまいます。 ^\n\n\n$ だと、ヒットしません。 改行が続いていて、それを3行だけ取り除くなんていうのは、できないもんでしょうか。 文章の中にあります。 行頭に半角空白,改行と続くのもありますが、それはヒットしないように。      

  • 3回以上の改行を2回にする正規表現は?

    タイトルどおり3回以上改行が続けば、2回にまとめる正規表現を考えています。 処理系は秀丸を使っています。 [第1案] 検索:\n\n+ 置換:\n\n [第2案] 検索:\n{2,} 置換:\n\n の2つを考えたがいずれも失敗。 他の言語でも汎用的に使えるように正規表現を希望ですがマクロでも可。 秀丸に限らず他のソフトでの解もありますね。 かなり頻繁に使うので何とか自動化したいです。

  • 正規表現による改行の置換

    Windowsで正規表現ができるテキストエディタ(NoEditer)を使っており、次のような改行で区切られた文を最後のピリオッドまでをつなげたいと思っています。例文ではX,Y,Z.の直後には改行が入っており、目的はAaaaXBbbbYCcccZ.と一文につなげることです。 [例文] AaaaX BbbbY CcccZ. 正規表現で \n[^(\.\n)] としてを空欄に置換すると2行目以降の頭が消えてしまいます。---> AaaaXbbbYcccZ.  文頭の文字が消えずつなげる方法を教えて下さい。

  • 【正規表現】改行を消す方法

    SAKURAエディタで正規表現を使えるようにしたんですが、改行の消し方が分かりません。 --------------------------------------------- a aaaa --------------------------------------------- ↓↓↓↓↓ --------------------------------------------- aaaaa --------------------------------------------- という風に置換したいんですが、どうすればいいのでしょうか? 回答の程よろしくお願い致します。

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

    これから正規表現を勉強しようとする者です。 次の2点について教えて頂きたいのですが、よろしくお願いします。 1.次のような置換をする正規表現は? 例えば、 ■■■ あいうえお かきくけこ ■■↓ ○○○ あいうえお かきくけこ ○○○ というテキストがある場合、○○○~○○○までの「あいうえお」 のみを「アイウエオ」に置換するには、どのような正規表現にすれば 良いのでしょうか? 2.秀丸エディタでは、フォルダ内の全ファイルを一括で置換する 事はできるのでしょうか? 以上2点です。 よろしくお願いします。

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

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

  • サクラエディタの正規表現での置換

    サクラエディタの正規表現での置換の方法について教えて下さい。 行の末尾が数字で終わらない行の改行コードを削除したいと考えています。 ---------- 元ファイル ---------- 000abc123 777def 456 333ghi789 222jk+ 111 ---------- ---------- 加工後 ---------- 000abc123 777def456 333ghi789 222jk+111 ---------- 「置換前」は『[^0-9]\n』を入力することで検索できましたが、 「置換後」に何を設定すれば良いのかわかりません。(または「検索対象」の設定を変える必要があるのかなど) 例えば置換後に何も設定しないと「777de456」とfが消えてしまうため、”f”を残した上で改行コードを削除したいのですが その方法がわかりません。 よろしくお願いいたします。

  • 正規表現 改行直後の文字列

    例として以下のような文字列があったとします。 --------------- a b c --------------- ※a,b,cの後ろは改行コード(CRLF) 置換で直後の文字が「b」である改行コードのみ削除する場合、 どのように正規表現で入力すればよいのでしょうか。 期待値は以下の通りです。 --------------- ab c --------------- ※ \r\n(?=^b)でためしてみましたが、うまくいかなかったです。。。

  • 正規表現の使い方

    $input =~ s/[a-z][0-9]-[0-9]/ [a-z][0-9]-[0-9] /g; perl言語での正規表現についてです。 置換に関してなのですが、このような使い方はできないでしょうか?? [a-z][0-9]-[0-9]にヒットしたものの前と後ろにスペースを代入したいのですが、何かいいプログラミングはないでしょうか?

  • 正規表現置換

    はじめまして。 現在、テキストエディタで kami987koroです。(漢字、かな、英数字、半角記号、全角記号、改行、スペースを含む文字列)ありがとうございました。 という文字列を正規表現で拾いだして、置換したいと考えています。 ただ、私がその方面の知識に疎く、どう表記すればよいのか分かりません。 そこで、この分野にお詳しい方、ご教授願えませんでしょうか? よろしくお願い致します。

専門家に質問してみよう