LoginSignup
2
2

More than 5 years have passed since last update.

Visual Studioの正規表現で"$_foo"を"$foo_"に置換するときに困った話(置換後の表現で、"$"の直後に"$1"を指定したい場合)

Last updated at Posted at 2014-11-14

概要

私はHTML、CSS、LESS、JavaScriptの編集にVisual Studioを利用しているのですが、その時タイトルにある通り$_foo$foo_に置換しようとして困ったことになりました。
具体的には、$_example$example_$_bar$bar_$_hogehoge$hogehoge_としたいと考えました。
Visual Studioに限らず、他のテキストエディタでも同じ方法が通用するかもしれません……

問題

検索語句
\$_(\w+)

上記のように、$_の後に任意の数の英数字とアンダーライン(\w)が続くような文字列の
先頭からアンダーラインを削除し、それを末端に持って行こうとしました。
任意の英数字\wを括弧でくくっているため、置換後の語句では$1と記述することで取得できるのですが……

置換後の語句
$$1_

素直に書けばこうです。ですが当然動きません。
${$1}_とか\$$1_とか$\$1_とか$${1}_とかいろいろ試しましたがうまくいきませんでした。

回答

検索語句
\$_(\w+)
置換後の語句
$$$1_

$$が置換後の語句における$なのですね!
ググっても出ず、10分程頭を悩まし解法を見つけることが出来ました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2