ホーム > 開発 > [サクラエディタ]正規表現で検索した結果の一部を置換する方法

[サクラエディタ]正規表現で検索した結果の一部を置換する方法

正規表現を使用して検索した結果の一部分だけを別の文字に置換したい場合があります。

正規表現の式集合(グループ化)という仕組みを使用して実現することができるので備忘録として記載。

どんなときに使うのか

以下のような検索・置換を行いたい場合に使用できます。

検索要件

ADDRESSから始まる行の郵便番号「130-0001 」だけを「130-0002」に変えたい。TELにも「130-0001 」という文字列はあるけど、こちらは置換したくない。

検索置換対象のデータ

ID:001
NAME:AAA
ADDRESS:130-0001 東京都墨田区吾妻橋
TEL:130-0001

式集合(グループ化)とは

正規表現の一部を(丸括弧)で囲むことでグループ化する事ができます。

グループにマッチした内容は後で利用することができます。グループ化した内容を利用するには$記号を使用します。

上記のADDRESSから始まる行の「130-0001 」の部分だけを置換する場合、以下のような正規表現になります。

検索条件

(^ADDRESS.*)130-0001(.*$)

置換文字列

$1130-0002$2

1つ目の丸括弧で囲まれたグループ(^ADDRESS.*)にマッチした結果は、$1で使用することができます。

2つ目の丸括弧で囲まれたグループ(.*$)にマッチした結果は、$2で使用することができます。

グループ化を利用した置換はとても便利で、検索結果の順序を入れ替えたりする際にも使えます。


カテゴリー: 開発 タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。
*