Điều đó tùy thuộc. Nói đúng ra, một phù hợp tiêu chuẩn sed chỉ phải sử dụng Regular Expressions cơ bản mà the standard trạng thái:
Các ký tự đặc biệt BRE và bối cảnh trong đó họ có ý nghĩa đặc biệt của họ như sau:
.[\
Thời gian, trái dấu ngoặc vuông và dấu gạch chéo ngược phải đặc biệt trừ khi được sử dụng trong biểu thức ngoặc đơn (xem Biểu thức khung giá RE). Một biểu thức có chứa một '[' mà không phải là dấu gạch chéo ngược và không phải là một phần của biểu thức ngoặc đơn tạo ra kết quả không xác định.
*
Dấu hoa thị phải đặc biệt trừ khi được sử dụng trong biểu thức ngoặc, là ký tự đầu tiên của toàn bộ BRE (sau ký tự '^' ban đầu, nếu có) hoặc ký tự đầu tiên của biểu thức con (sau lần đầu tiên) '^', nếu có); thấy BREs Matching Nhiều nhân vật
^
Các circumflex phải đặc biệt khi sử dụng như một anchor (xem BRE Biểu neo) hoặc là ký tự đầu tiên của một biểu thức khung (xem RE Bracket Expression)
$
Các dollar- dấu hiệu sẽ được đặc biệt khi được sử dụng như một neo.
Vì vậy, danh sách đầy đủ là .[\*^$
, nhưng ngữ cảnh quan trọng. Ngoài ra, nhiều sed cung cấp các tùy chọn để sử dụng các biểu thức chính quy mở rộng (EREs), sẽ mở rộng danh sách và thay đổi ngữ cảnh trong đó các ký tự đặc biệt. Ví dụ: nếu không có nhóm ERE được tạo thành bằng cách sử dụng \(
và \)
, nhưng với EREs (
và )
thì chúng là đặc biệt và phải được thoát để khớp với nghĩa đen.
Nguồn
2012-11-21 18:55:53
Tài liệu về sed (và grep) là những gì bạn đang tìm kiếm. Bạn không tìm thấy gì trong đó? – Mat
Tôi chỉ nhìn thấy các ví dụ về các ký tự đặc biệt, nhưng tôi không bao giờ chắc chắn rằng đó là danh sách các ký tự đặc biệt _complete_ – mnr
Tôi không chắc chắn bạn có ý nghĩa gì về "ký tự đặc biệt", nhưng tài liệu liệt kê mọi thứ bạn có thể làm. Không có điểm nào trong việc sao chép tài liệu đó ở đây. – Mat