2014
03/25

正規表現の特殊文字をエスケープしてペーストするSublime Text3プラグイン

ST3

正規表現による検索や置換は便利ですが、エディタ上で使う場合は$や\や?などの特殊文字をエスケープする必要があります。

たとえば、以下の様な文章を検索したい場合、$や:や)などは前にバックスラッシュ(\)を付けないといけません。

Sublime Textの検索・置換でエスケープが必要な文字は
. \ + * ? [ ^ ] $ ( ) { } = ! < > |
です。…多分。足りない・余計などがあればご指摘ください_(._.)_

特殊文字が多ければ多いほどこのエスケープを書くのが面倒なので、ペースト時に特殊文字をエスケープしてくれるSublime Text3用のプラグインを書きました。

ST3RegExpPaste

コピーしたテキストをペーストする際、「ctrl+shift+v」を押すと特殊文字をエスケープしてから貼り付けを行います。また、ダブルクォーテーション内を(.+?)に置換するという処理も行います。

zipでダウンロードして、Winユーザーの場合は

C:\Users\ユーザー名に\AppData\Roaming\Sublime Text 3\Packages

内に入れると動きます。

ADs

機能

文字列をコピーしてからCtrl+shift+vを押すと、

1.ペーストする前に「. \ + * ? [ ^ ] $ ( ) { } = ! < > |」を\でエスケープします。

2.“”で囲まれた文字列を“(.+?)”に書き換えます。

3.通常のペースト処理を行います。

クリップボードの書き換えを行ってペーストしているので、入力エリアだけでなく検索ウインドウやコンソールでも発動します。
※さすがに「ファイルを開く」ダイアログ上では機能しなかった。

実例

(.+?)への置換が不要な場合

ST3RegExpPaste.pyの以下の行をコメントアウトしてください。

注意

get_clipboard、set_clipboardという関数でクリップボードのテキストを直接書き換えてます。
クリップボード監視ソフトなどを使っている場合は迷惑がかかるかもしれません。

ADs

Post Comments

メールアドレスが公開されることはありません。

Comments

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