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.