検索・置換を爆速化させる正規表現 Part 2

PC

正規表現の使用例1

名前の表記が 姓 - 名 の順になっていたとします。これを一回で逆にしてみます。

Lennon John
McCartney Paul
Harrison George
Starr Ringo
John Lennon
Paul McCartney
George Harrison
Ringo Starr

 

置換に使用する正規表現の例

検索する文字:(.+)\s(.+)

置換後の文字:$2 $1

 

検索の正規表現を分解すると、

....任意の一文字(なんでもいいので一文字)にマッチ

+...直前の文字の1個以上繰り返しにマッチ

\s...スペースにマッチ

になります。

つまり(.+)\s(.+)は、

(一文字以上の文字列)スペース(一文字以上の文字列)

という意味になります。
また、単に検索するだけであればカッコは必要ありませんが、この例では置換で再利用する部分をカッコでくくっています。

置換に使用する$2 $1は、$2が2番目のカッコ内、$1が1番目のカッコ内に該当します。

 

テキストエディターで置換を実行する

正規表現が使えるテキストエディターならなんでもいいのですが、今回はマイクロソフトのVisual Studio Codeを使っています。
VS Codeは置換後のプレビューが表示されるので便利です。インストール方法などはこちら

 

左の検索アイコンをクリック。

 

置換のテキストボックスが表示されない場合は左の▲をクリック。

 

検索と置換の欄に入力します。

 

「正規表現を使用する」ボタンをクリック。

 

「すべて置換」をクリック。

 

置換後。

 

他のテキストエディターでも操作は同じです。

 

正規表現の使用例2

次に、名前の表記が 姓 名 - 姓 名 の順になっていたとします。これも一回で逆にしてみます。

Lennon John - McCartney PaulJohn Lennon - Paul McCartney

 

検索する文字:(.+)\s(.+)\s-\s(.+)\s(.+)

置換後の文字:$2 $1 - $4 $3

 

正規表現で検索します。

 

置換後。

 

コメント