Nếu bạn làm việc với văn bản, bạn sẽ đánh giá cao các biểu thức chính quy hữu ích như thế nào. Các biểu thức chính quy ở khắp mọi nơi trong Linux để tìm kiếm thông qua văn bản ngay bên dưới ký tự. Bài viết này nhằm mục đích cung cấp một "cheat sheet" nhỏ cho những người chỉ cần một chút refresher theo thời gian.

Nếu bạn cần một số giới thiệu về các biểu thức chính quy, hãy xem hướng dẫn cho người mới bắt đầu của chúng tôi tại đây.

Tính cáchSự miêu tảThí dụ
. (dấu chấm)Khớp bất kỳ ký tự đơn nào, ngoại trừ dòng mới (\ n)ct khớp với "mèo", "cắt" hoặc "cũi".
* (sao)Lặp lại biểu thức trước đó 0 hoặc nhiều lần (chế độ tham lam)12*3 khớp với "13", "123", "1223", "12223". Nó có thể được sử dụng cùng với. (dấu chấm) chẳng hạn như m.*easier kết hợp m.*easier "maketecheasier". Sử dụng .* Tự nó là vô nghĩa vì nó khớp với mọi thứ và trả lại kết quả đầy đủ.
+ (cộng)Lặp lại biểu thức trước đó 1 hoặc nhiều lần.12+3 khớp với "123", "1223", "12223"
? (dấu chấm hỏi)Làm cho mục trước không bắt buộc.ma?ke khớp với "make", "mke"
^ (dấu mũ)Khớp từ đầu chuỗi^he kết hợp "hello", "hell", "help", "anh ấy là con trai"
$ (đô la)Kết hợp từ cuối chuỗied$ khớp với "hành động", giường ", " tham lam "
(...) (dấu ngoặc tròn)Nhóm các ký tự hoặc biểu thức(ak) khớp với "make", "take", '
{n} (dấu ngoặc nhọn, trong đó n là một số nguyên lớn hơn 0)Phù hợp với mục trước đó chính xác n lần12{3}5 đối thủ "12225"
[...] (dấu ngoặc vuông)khớp với một ký tự đơn trong khung[abc] khớp với "a", "b" hoặc "c" trong chuỗi "abc".
[^ ...]Khớp bất kỳ ký tự nào trừ các ký tự được xác định trong khunga[^b]c khớp với "aec", "acc", "adc", chứ không phải "abc"
| (ống)Phù hợp với biểu thức ở bên trái hoặc bên phải của đường ống.col(o|ou)r khớp với "màu", "màu"
- (thôi miên)Chỉ định một loạt các ký tự để khớp. Được sử dụng chủ yếu trong [az], [AZ], [1-9], [a-zA-Z1-9]a[az]c khớp với "abc", "acc", "adc"
\ (dấu gạch chéo ngược)Thoát khỏi một nhân vật đặc biệt và biến nó thành một nhân vật bình thường.a\*c khớp với "a * c".
\ n, \ r, \ tkhớp với dòng mới, ký tự trả về và tab tương ứng
\ b ... \ bPhù hợp với một từ trong ranh giới.\bTech\b khớp từ "Tech" trong "Make Tech Easier".

Một số ví dụ phức tạp hơn

Phù hợp với một số lượng ký tự nhất định .

Dưới đây là ví dụ về số điện thoại ở Hoa Kỳ, không tính mã vùng:

 [0-9] {3} - [0-9] {4} 

Điều này sẽ khớp với bất kỳ số điện thoại nào có định dạng “111-1111”.

Tạo mẫu tùy chọn

Đây là ví dụ về số điện thoại của Hoa Kỳ một lần nữa, lần này với mã vùng tùy chọn. Chúng tôi sẽ giả định rằng tệp có số điện thoại mà chúng tôi đang tìm kiếm có số điện thoại được cấu trúc như thế này: 555-555-5555. Toán tử "?" Biểu thị một mẫu tùy chọn trước nó.

 ([0-9] {3} -)? [0-9] {3} - [0-9] {4} 

Chắc chắn, đó là một chút xấu xí, như biểu thức thường xuyên có xu hướng được, nhưng nó rất mạnh mẽ.

Tìm một loạt các ký tự :

 . {1, 3} 

Điều này sẽ khớp với bất kỳ ký tự nào từ 1 đến 3 lần.

Tải xuống biểu thức chính quy Cheat Sheet

Không thể có đủ điều này? Chúng tôi đã chuẩn bị một bảng cheat cho bạn để bạn có thể truy cập vào nó khi bạn cần.

Tải về tại đây.