Cari dan Ganti dengan komponen RegEx di Editor Atom


130

Saya ingin mencari dan mengganti ini

`https://example.com/`{.uri}

untuk

[https://example.com/](https://example.com/)

Dengan vimsaya akan melakukan s/(http. *) {.uri}/[\1](\1)/gTapi itu tidak berhasil atom.io. Bagaimana saya bisa memecahkan masalah ini?


3
Saya juga bisa menggunakan vim. Saya ingin tahu bagaimana menyelesaikan masalah yang diberikan atom.
wintermeyer

Jawaban:


215

Jika Anda Cmd-F dan membuka panel pencarian, ada tombol ". *" Di sisi kanan. Klik dan sekarang sudah mode regex.

saya menemukan

(http.*)\{\.uri\}

dan ganti ke

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gtidak bekerja atomdengan RegEx diaktifkan. Mungkin itu adalah bug atau sintaks RegEx yang berbeda. Itulah alasan pertanyaan saya.
wintermeyer

19
Saya menemukan "(http. *) \ {\. Uri \}" dan ganti menjadi "[$ 1] ($ 1)". Berhasil. Ini adalah reg-style perl, yang saya yakini standar.
speedogoo

1
@speedogoo Anda harus mengirimkan ini sebagai jawaban yang benar.
metode

3
Adakah ide bagaimana cara saya mengevaluasi kelompok yang ditangkap untuk melakukan beberapa hal sebelum mengganti? Misalnya, jika $1menangkap grup nomor - 123, ganti dengan menambahkan 1 ke dalamnya, kira-kira seperti eval($1+1)..?
SexyBeast

6
Ok saya hanya lupa menggunakan tanda kurung di regex. Abaikan saja apa yang saya katakan.
Antoine

19

Juste untuk memperbarui jawaban @ speedogoo untuk pembaca di masa mendatang, jika Anda tidak menemukan mode regex di tampilan pencarian, sepertinya ini:

masukkan deskripsi gambar di sini

Anda juga dapat membukanya dengan cara pintas Ctrl+ Alt+ / (default) .


Perhatikan bahwa even ^dan $ sudah didukung oleh Atom menemukan dan mengganti.


1
Apakah Anda mengatakan bahwa Group Replace tidak berfungsi dengan Atom, sehingga membuat jawaban yang diterima salah (dan merusak hari saya dengan Atom)?
Dan Rosenstark

3
Saya percaya maksudnya awal ^dan akhir $jangkar garis tidak didukung. Pengganti grup didukung.
SadullahCeran

3
Ini berfungsi dalam versi terbaru, masalah github tertaut telah ditutup.
Frank Lee
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.