はじめに
ありすちゃじゃなくて、橘さん、お誕生日おめでとうございます。
アニメU149全部見ました。キラメキ、よかった... nikkieです
これまでVS Codeを長らく使ってきました1が、本日衝撃が走りました。
目次
- はじめに
- 目次
- 行をダブルクォートで囲みたい
- この動画を見てくれ! VS Code tips — Using regex capture groups in find replace
- VS Codeのドキュメントより
- 終わりに
- P.S. VS Codeのupdatesにこんまりがいました
行をダブルクォートで囲みたい
これを2
橘 ありす Emily Stewart
こうしたいです
"橘 ありす" "Emily Stewart"
.+
と"$0"
でできるよ!
「橘 ありす」の行をダブルクォートで囲んだ後、これから「Emily Stewart」の行を囲むという瞬間を切り取りました。
.+
と"$0"
の衝撃
これまでずっと、行頭の置換 -> 行末の置換の2ステップでやってきました。
^
を検索 ->"
に置き換え- 「"橘 ありす」となる
$
を検索 ->"
に置き換え- 「"橘 ありす"」、できた!
一発でできたなんて、もう、穴掘って埋まってますぅ〜!
この動画を見てくれ! VS Code tips — Using regex capture groups in find replace
1分40秒のこちらの動画、英語ですが、画面に注目すると雰囲気はつかめると思います!
.+
と"$0"
で囲むだけでなく
正規表現のキャプチャと後方参照を使って自由自在です!
"(.+)"
を検索- 後方参照
$1
でキャプチャした部分(.+
に該当する部分)を取り出す - つまり、囲んだダブルクォートを外せる
- 後方参照
(\w+) (\w+)
を検索- 後方参照を使って
$2 $1
- これは「名 姓」の形式なので「姓 名」に入れ替えられる!
- 日本語非対応の書き方みたいです(「橘 ありす」にヒットせず)
- 後方参照を使って
VS Codeのドキュメントより
Findで正規表現が使えると書かれています。
Basic Editingの「Find and Replace」
https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace
「Advanced find and replace options」に
the Find Widget also has three advanced search options:
この中に「Regular Expression」が挙がっています。
ウィジェットにある「.*
」のボタンのことですね(3つ並んでいるところの一番右)
Visual Studio Code Tips and Tricksの「IntelliSense」
https://code.visualstudio.com/docs/getstarted/tips-and-tricks#_intellisense
「Search and modify」に正規表現のキャプチャについて記載があります3。
.*
(Use Regular Expression)ボタンをクリックした後
write a regular expression and use parenthesis to define groups. You can then reuse the content matched in each group by using $1, $2, etc. in the Replace field.
続く画像はキャプチャと後方参照を使った例ですね。
https://github.com/microsoft/vscode-docs/blob/8452bf966d804306a11efa5fd2659e636516a797/docs/getstarted/images/tips-and-tricks/search_and_modify.png
終わりに
VS Codeで行をダブルクォートで囲みたいとき、.+
と"$0"
でできるというのは衝撃でした。
見つけた動画では、キャプチャと後方参照を使って自由自在に置換!
正規表現を知ることでVS Codeでできることが広がりますね。
Pythonでは後方参照が\1
だったのですが4、VS Codeでは$1
だよと教えていただいて、このたび道が拓けた感覚です(ありがとうございました!)
(おまけ)過去に正規表現を取り上げた記事
P.S. VS Codeのupdatesにこんまりがいました
January 2019 (version 1.31)
https://code.visualstudio.com/updates/v1_31#_removed-legacy-search-mode
But as Marie Kondo says, we must tidy up the things that no longer spark joy.
こんまり!