ちょっと先の未来クイズ第1問

サクラエディタのマクロをVSCodeのマクロに変更する必要が出たのですが、全く知識がなく悩んでいます。
もとのサクラエディタでのマクロは以下の内容なのですが、その内容する分からず困っています。ネットで勉強中ですが、どなたか以下についてご教授して頂ける方がいたらお願いします。
1.マクロ内容の意味(以下の01~09行の意味)
2.VSCodeのマクロにしたら、どう変わるのか

~マクロ(サクラエディタ)の中身~
01.S_ReplaceAll('("email":".+?")', '\\r\\n\\1', 28);
02.S_ReplaceAll('^(?!").*$', '', 28);
03.S_ReplaceAll('("email":".+?").*', '\1', 28);
04.S_ReplaceAll('"email":"', '', 28);
05.S_ReplaceAll('noreply@xxx.com', '', 28);
06.S_ReplaceAll('"', '', 28);
07.S_ReplaceAll('^\n', '', 28);
08.S_ReplaceAll('^\r\n', '', 28);
09.S_ReDraw(0);

A 回答 (2件)

> 正規表現で実施しているようですが、なかなか理解できず...



同じ操作をさせるだけなら、理解せずともそのまま移植すればよいかと思います
VSCode の検索機能にも正規表現(Regular Expression)オプションがあるので、マクロの引数を置換前後にそのまま入力しましょう

例)
S_ReplaceAll('("email":".+?")', '\\r\\n\\1', 28);

置換前 = ("email":".+?")
置換後 = \r\n\1 ← マクロ内エスケープ記法の \\ を \ と読み替え
オプション = ".*" ボタンを有効にする

参考) VSCode の検索と置換
https://code.visualstudio.com/docs/getstarted/ti …
https://code.visualstudio.com/docs/editor/codeba …

参考) VSCode で利用可能な正規表現は、サクラエディタとほぼ同様(らしい)
https://developer.mozilla.org/ja/docs/Web/JavaSc …
    • good
    • 0
この回答へのお礼

返信ありがとうございます。
なるほど、やってみます!

お礼日時:2023/09/12 06:52

単純に置換ダイアログの操作を八回繰り返しているように見えますので、


VSCode にキーボードマクロ拡張を入れて操作を記録させましょう。

すべて置換(実行)
https://sakura-editor.github.io/help/HLP000293.h …
置換オプション = 28 = 0x1C = 0x10 | 0x8 | 0x4
0x004 正規表現
0x008 見つからないときにメッセージを表示
0x010 置換ダイアログを自動的に閉じる

利用可能な正規表現
https://sakura-editor.github.io/help/HLP000089.h …

正規表現について調べたいなら
http://www.kt.rim.or.jp/~kbk/regex/regex.html
https://www.oreilly.co.jp/books/9784873113593/

VSCode のキーボードマクロ拡張
https://marketplace.visualstudio.com/items?itemN …
    • good
    • 0
この回答へのお礼

返信ありがとうございます!
はい、S_ReplaceAll自体が全置換なのは理解したので、8回実施しているところまで、私もなんとか理解しました。
今は、その置換内容がよくわからず理解に苦しんでいます。その内容が理解出来たら、アドバイスして頂いたようにVSCode のキーボードマクロ拡張を実施してマクロの記録を行う予定でいます。

置換については正規表現で実施しているようですが、なかなか理解できずご連絡いただいたURLも確認してみますが、もし、何かわかるようでしたら追加でアドバイスして頂けると嬉しいです。

お礼日時:2023/09/10 05:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!