Làm cách nào để kiểm tra và sử dụng biểu thức chính quy Perl một cách tương tác?


15

Nói rằng tôi có một bộ đệm với văn bản. Tôi muốn kiểm tra một biểu thức chính quy (loại Perl lý tưởng) đối với bộ đệm của tôi và để Emacs làm nổi bật các kết quả khớp trên nó.

Ví dụ: regrec sau ( lấy từ Wikipedia ):

(?<=\.) {2,}(?=[A-Z]) 

sẽ khớp như sau trên văn bản sau:

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

Biểu thức chính quy này đặc biệt khớp với ít nhất hai khoảng trắng xuất hiện sau khoảng thời gian (.)và trước một chữ cái viết hoa.

Emacs có cung cấp trình so khớp biểu thức chính quy tương tác cho biểu thức chính quy Perl không?

Nếu câu trả lời sau là không:

  1. Có một lý do tại sao sự hỗ trợ bản địa của các biểu thức chính quy Perl không (từng) được xem xét trong Emacs? (xem xét rằng đó là một tiêu chuẩn nổi tiếng trong Unix / Linux)

  2. Làm thế nào người ta có thể tiến hành xây dựng một trình so khớp regl Perl như vậy? (có lẽ gọi Perl dưới mui xe hoặc chuyển đổi trước biểu thức chính quy Perl sang biến thể được hỗ trợ?)


2
Emacs regexps trước Perl một thời gian, và tôi cho rằng chúng không bị thay đổi vì lý do tương thích ngược.
shosti

1
Ngoài ra, bạn có thể muốn kiểm tra github.com/joddie/pcre2el (Tôi chưa sử dụng nó, vì vậy tôi không thể bảo đảm cho nó).
shosti

Câu trả lời:


15

Có hai gói tốt để làm việc với các loại regex một cách hiệu quả, nên được sử dụng cùng nhau - visual-regrec và nó là phần mở rộng - visual-regapi-steroid . Chúng là sự bổ sung tuyệt vời cho emacs:

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


2
Để làm rõ, trực quan regex sử dụng regac emacs và phiên bản steroid có thể sử dụng PCRE hoặc Python regex làm phụ trợ.
Kaushal Modi

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.