Tìm kiếm và thay thế bằng các thành phần RegEx trong trình soạn thảo Atom


130

Tôi muốn tìm kiếm và thay thế cái này

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

đến

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

Với vimtôi sẽ làm một s/(http. *) {.uri}/[\1](\1)/gNhưng điều đó không làm việc với atom.io. Làm sao tôi có thể giải quyết việc này?


3
Tôi cũng có thể sử dụng vim. Tôi muốn biết làm thế nào để giải quyết vấn đề đã cho atom.
wintermeyer

Câu trả lời:


215

Nếu bạn Cmd-F và mở ngăn tìm kiếm, sẽ có nút ". *" Ở bên phải. Nhấp vào nó và bây giờ là chế độ regex.

Tôi tìm thấy

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

và thay thế để

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gkhông hoạt động atomvới RegEx được kích hoạt. Có thể đó là một lỗi hoặc một cú pháp RegEx khác. Đó là lý do của câu hỏi của tôi.
wintermeyer

19
Tôi tìm thấy "(http. *) \ {\. Uri \}" và thay thế thành "[$ 1] ($ 1)". Nó hoạt động. Đây là regex theo phong cách perl, mà tôi tin là tiêu chuẩn.
speedogoo

1
@speedogoo Bạn nên gửi câu trả lời này là câu trả lời đúng.
phương pháp

3
Bất cứ ý tưởng làm thế nào để tôi đánh bại nhóm bị bắt để làm một số thứ trên đó trước khi thay thế? Ví dụ: nếu $1chụp một nhóm số - 123, hãy thay thế nó bằng cách thêm 1 vào nhóm đó, đại loại như eval($1+1)..?
Quái thú khiêu gợi

6
Ok tôi chỉ quên sử dụng dấu ngoặc đơn trong regex. Chỉ cần bỏ qua những gì tôi nói.
Antoine

19

Juste để cập nhật câu trả lời của @ speedogoo cho những người đọc trong tương lai, nếu bạn không tìm thấy chế độ regex trong chế độ xem tìm kiếm, nó sẽ giống như thế này:

nhập mô tả hình ảnh ở đây

Bạn cũng có thể mở nó bằng phím tắt Ctrl+ Alt+ / (mặc định) .


Lưu ý rằng thậm chí ^$ đã được hỗ trợ bởi công cụ tìm và thay thế của Atom.


1
Bạn có nói rằng Nhóm Thay thế không hoạt động với Atom, do đó làm cho câu trả lời được chấp nhận sai (và hủy hoại ngày của tôi với Atom)?
Dan Rosenstark

3
Tôi tin rằng ông có nghĩa là bắt đầu của dòng ^và cuối dòng $neo không được hỗ trợ. Thay thế nhóm được hỗ trợ.
SadullahCeran

3
Nó hoạt động trong các phiên bản gần đây, vấn đề github được liên kết đã bị đóng.
Frank Lee
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.