秀丸の正規表現の質問です。


元の文章
△これはテスト文です■

これを以下のように変えたい

■これはテスト文です△

■△をそれぞれ普通に置換すればよいように見えますが、条件がありまして、別の箇所にも■△が大量に入っています。

ですので、△から始まり、■で終わる行のみを置換したいのです。
これはテスト文です というもじはそのまま残します。

できますでしょうか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/03/11 05:09:27
  • 終了:2008/03/11 13:40:16

回答(2件)

id:mutsuju No.1

mutsuju回答回数551ベストアンサー獲得回数352008/03/11 05:27:58

ポイント35pt

秀丸エディタVer7.04で試しました。

検索文字列 ^△¥f.*¥f■$

置換文字列 ■¥1△

正規表現 チェックON で (¥は半角で入力して下さい)

置換前

△これはテスト文1です■

△これはテスト文aです○

△これはテスト文2です■

△これはテスト文イです○

置換後

■これはテスト文1です△

△これはテスト文aです○

■これはテスト文2です△

△これはテスト文イです○

となります。

http://hide.maruo.co.jp/software/hidemaru.html

id:clinejp

解決しました

ありがとうございます。

2008/03/11 13:39:56
id:proganochelys No.2

proganochelys回答回数75ベストアンサー獲得回数62008/03/11 05:28:02

ポイント35pt

タグ付き正規表現を使ってできましたよ。

http://www.ceres.dti.ne.jp/~sugiura/hidemaru/qa/4_tagreg.html

このページでは、"\f"という記号を使っていますが、現在のバージョンでは、一般的な正規表現と互換のある"()"も使えるようです。


具体的には、

検索 → ^(△)([^■]*)(■)$

置換 → \3\2\1

とします。

行の頭に (^)

"△"という文字があって(これが\1)

続いて"■"以外の文字が0個以上続き(これが\2)

"■"という文字があって(これが\3)

そこが行末

という部分にヒットし、

\1と\3をひっくり返す

と置換されます。

いかがでしょうか。

id:clinejp

解決しました

ありがとうございます。

2008/03/11 13:39:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません