ここから質問投稿すると、最大4000ポイント当たる!!!! >>

秀丸の正規表現で困っています。
改行ありのタグを抜かして改行のないタグだけを検索して置換したいのです。

<メール><ブログ>hogehogeなんちゃら</ブログ></メール>

<教えて><goo>hogehogeなんちゃら</goo></教えて>



検索:<メール><ブログ>(.+?)</ブログ></メール>

置換:<教えて><goo>$1</goo></教えて>

で 置換できますよね。


でわ、

<メール><ブログ>hogehogeなんちゃら</ブログ></メール>

<メール><ブログ>
fumfumuなんちゃら
fumfumuなんちゃら</ブログ></メール>



<教えて><goo>hogehogeなんちゃら</goo></教えて>

<メール><ブログ>
fumfumuなんちゃら
fumfumuなんちゃら</ブログ></メール>

とhogehogeなんちゃらのタグだけ変えるには 検索と置換をどうしたらよいのでしょうか?

検索だけなら

検索:<メール><ブログ>[^\n]+</ブログ></メール>

でできるようですが、置換もするとなると どのように検索と置換をすればよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

比較してみると、やっぱり自分のと動作違うような気も少ししますが・・・


なにか導入済みのマクロが干渉してる・・・とかはないですよね
とりあえず、[^\n]+も使えると思いますよ。
同じように括弧でくくってやれば、\1で引っ張れました。

検索:<メール><ブログ>([^\n]+)</ブログ></メール>
置換:<教えて><goo>\1</goo></教えて>
    • good
    • 0
この回答へのお礼

正規表現の仕方が間違っているようではないので 解決にします。
ありがとうございました。

ソフトを他に代用する方法にて、問題なくできました。

時間を空けて 再度 試してみます。

お礼日時:2011/07/06 21:02

複数行またぐのは無視なんですよね?


サンプルテキストへ試してみたところ、最初に書かれている物で意図されているような置換が出来ました($と\の差はありますが)。
秀丸やdllのバージョンによって動作違うっぽいんで、その辺なんでしょうか

検索:<メール><ブログ>(.+?)</ブログ></メール>
置換:<教えて><goo>\1</goo></教えて>
正規表現チェックボックス:オン

秀丸エディタ(v8.04)
HMJRE.dll(v3.36)

この環境でもダメとなると、後はサンプルテキストと実際のテキストの差とか・・・
その際は、うまくいかなかった箇所を例示してください
    • good
    • 0
この回答へのお礼

解答ありがとうございます。

秀丸は最新版で
(.+?)⇒\1の方法でうまくいきました。
検索:<メール><ブログ>(.+?)</ブログ></メール>
置換:<教えて><goo>\1</goo></教えて>


検索:<メール><ブログ>[^\n]+</ブログ></メール>



[^\n]+   -----------(改行を挟まない)

にこだわらなければ うまくいくようです。

(改行を挟まない)のこだわりはしないようにしようと思います。



秀丸エディタは最新版です。

秀丸エディタ(v8.04)
HMJRE.dll(v3.36)


うまくいきそうでうまくいかない正規表現

<教えて><goo>hogehogeなんちゃら</goo></教えて>

<メール><ブログ>
fumfumuなんちゃら
fumfumuなんちゃら</ブログ></メール>

↓実行

検索:<教えて><goo>[^\n]+</goo></教えて>
置換:<教えて><goo>[^\n]+\1</goo></教えて>

↓結果

<教えて><goo>[^
]+</goo></教えて>

<メール><ブログ>
fumfumuなんちゃら
fumfumuなんちゃら</ブログ></メール>

お礼日時:2011/06/30 21:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング