Sử dụng Công cụ sửa đổi của Regex tương thích Perl (PCRE) trong grep


20

Theo grep --helpman grep, chúng ta có thể sử dụng -Ptùy chọn để diễn giải mẫu dưới dạng biểu thức chính quy Perl (PCRE, chính xác), thay vì biểu thức chính quy cơ bản POSIX (BRE) mặc định .

Trong ngôn ngữ Perl, nhiều Công cụ sửa đổi khác nhau có thể được thêm vào biểu thức, để điều chỉnh diễn giải mẫu (theo cú pháp của /pattern/modifiers).

Vậy, làm thế nào ai đó có thể thêm công cụ sửa đổi vào biểu thức chính quy Perl của grep? Tôi đã thử một số biến thể như grep -P "/^got.it$/ms" [FILE]nhưng kết quả tìm kiếm đã sai.

Tuy nhiên, về cách giải thích của PCRE, hướng dẫn chỉ ra rằng:

Điều này mang tính thử nghiệm cao và grep -P có thể cảnh báo các tính năng chưa được thực hiện.

Có thể là công cụ grep hoàn toàn không hỗ trợ sửa đổi ?

Nhân tiện, tôi nhận thấy rằng người ta có thể thực hiện khớp mẫu không phân biệt chữ hoa chữ thường bằng cách sử dụng -itùy chọn, đây là một ví dụ về công cụ sửa đổi.


Câu trả lời:


17

Đối với các sửa đổi, imsxadlupbạn có thể sử dụng (?X)cho như được mô tả trong Các mẫu mở rộng :

$ echo FOO | grep -P '(?i)foo'
FOO
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.