正規表現による検索や置換は便利ですが、エディタ上で使う場合は$や\や?などの特殊文字をエスケープする必要があります。
たとえば、以下の様な文章を検索したい場合、$や:や)などは前にバックスラッシュ(\)を付けないといけません。
1 2 3 4 5 6 7 |
This item is $500:) この商品は500円(1$=100円として換算)です^^ ↓ この文章そのままを検索する場合、以下を検索する必要がある This item is \$500\:\) この商品は500円\(1\$\=100円として換算\)です\^\^ |
特殊文字が多ければ多いほどこのエスケープを書くのが面倒なので、ペースト時に特殊文字をエスケープしてくれるSublime Text3用のプラグインを書きました。
コピーしたテキストをペーストする際、「ctrl+shift+v」を押すと特殊文字をエスケープしてから貼り付けを行います。また、ダブルクォーテーション内を(.+?)に置換するという処理も行います。
zipでダウンロードして、Winユーザーの場合は
C:\Users\ユーザー名に\AppData\Roaming\Sublime Text 3\Packages
内に入れると動きます。
ADs
文字列をコピーしてからCtrl+shift+vを押すと、
1.ペーストする前に「. \ + * ? [ ^ ] $ ( ) { } = ! < > |」を
2.“”で囲まれた文字列を“(.+?)”に書き換えます。
3.通常のペースト処理を行います。
クリップボードの書き換えを行ってペーストしているので、入力エリアだけでなく検索ウインドウやコンソールでも発動します。
※さすがに「ファイルを開く」ダイアログ上では機能しなかった。
1 2 3 4 5 6 7 8 9 |
<img src="img/abc.jpg" alt=""> <a href="http://yahoo.co.jp">Yahoo!Japan</a> ↓ 上記をコピーしてctrl+shift+vで貼り付けると <img src\="(.+?)" alt\=""> <a href\="(.+?)">Yahoo\!Japan</a> こうなる |
ST3RegExpPaste.pyの以下の行をコメントアウトしてください。
1 2 |
#以下をコメントアウト。Pythonは「#」ではじまればコメント扱いです。 esc_txt = re.sub(r'".+?"', '"(.+?)"', esc_txt) |
get_clipboard、set_clipboardという関数でクリップボードのテキストを直接書き換えてます。
クリップボード監視ソフトなどを使っている場合は迷惑がかかるかもしれません。
ADs
コメントはまだありません。