Tôi không chắc ý của bạn là gì khi "tạo mã trực quan" (ý bạn là công cụ GUI?). Nếu bạn giống như tôi, tôi thấy không thể làm việc với các biểu thức chính quy phức tạp, trừ khi tôi trình bày chúng theo cách có cấu trúc, vì vậy tôi có thể có được biểu diễn trực quan tốt hơn về logic.
Thực sự, sed
chỉ là một ngôn ngữ kịch bản, và nó có thể được đặt ra như các ngôn ngữ khác, tức là. với một lệnh trên mỗi dòng. Dưới đây là một ví dụ điển hình về ý tôi muốn nói: Một regex sed hiển thị bố cục có cấu trúc .
Một tính năng rất tiện dụng sed
là lệnh gỡ lỗi của nó l
, đó là một kết xuất dòng đơn giản hiển thị không gian mẫu với các dòng mới được nhúng hiển thị \n
, v.v.
Vấn đề với sed
không chỉ là các biểu thức thông thường. Nó có một bộ lệnh khó hiểu để lặp và kiểm tra điều kiện; việc này cần có thời gian để làm quen với ... Công cụ tốt nhất tôi từng tìm thấy để hỗ trợ tôi xử lý sed
khá đơn giản: Tôi đọc hướng dẫn chi tiết .. Từ đó, nó chỉ là một quá trình bắt đầu nhỏ và nhận được những việc đơn giản làm việc; sau đó xây dựng những thứ lớn hơn để tích lũy kinh nghiệm ..
Perl regex có một số tính năng hữu ích để hỗ trợ đưa ra các mẫu phức tạp; ví dụ. khả năng bỏ qua khoảng trắng trong biểu thức của bạn .. (Như một thách thức và đối với yếu tố expereince , tôi đã viết một sed
trình phân tích cú pháp để phân tích sed
mã của mình để cho phép khoảng trắng đó ... PS. Tôi không cần nó ngay bây giờ; :) Trên thực tế chỉ cần đặt ra các lệnh, một lệnh trên mỗi dòng, gần như tốt như tính năng perl.
Công cụ tốt nhất để giúp bạn là: kinh nghiệm . ví dụ. Giải quyết các câu hỏi regex trên trang web này là một cách tuyệt vời để có được trải nghiệm đó ... Tôi cảm thấy rằng các công cụ GUI không thực sự giúp ích nhiều, vì chúng ức chế trải nghiệm ...
Tóm lại, các công cụ trợ giúp tốt nhất là kinh nghiệm và bố cục có cấu trúc , và đọc hướng dẫn (chi tiết) ..
Tôi đã sử dụng từ "expereince" rất nhiều .. bởi ý tôi là hành động chuẩn bị các biểu thức chính quy (và trong trường hợp sed
, bất kỳ logic lặp nào, v.v.) là yếu tố chính .. loại "Regex-Builder" công cụ; đừng viết regex cho bạn; họ chỉ kiểm tra nó, và họ chắc chắn sẽ không xử lý logic chương trình của sed , bởi vì đó không phải là một biểu thức chính quy .. (và bạn đã đặc biệt chỉ ra sed
) ... Việc làm nổi bật cú pháp mà họ có thể cung cấp không giúp ích gì cho tôi . Mặc dù vậy, một trình soạn thảo có khớp khung tốt khá tiện dụng (tôi sử dụng emacs) ..