概要
私は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分程頭を悩まし解法を見つけることが出来ました。