Bạn đã bao giờ cố gắng tìm một mẫu lặp lại trong một đoạn văn bản chưa? Bạn có thể đã sử dụng một cái gì đó như chức năng tìm kiếm trong trình duyệt hoặc trình xử lý văn bản của mình, nhưng khi bạn cần tìm một cái gì đó phức tạp hơn, nó có thể giống như mò kim đáy bể.

May mắn thay, có một cách để chọn ra các mẫu chính xác trong văn bản ngay bên dưới ký tự. Nó được gọi là biểu thức chính quy (RegEx) và nó cho phép bạn trở thành bậc thầy về tìm kiếm thông qua văn bản.

Tôi có thể sử dụng RegEx ở đâu?

Mặc dù Unix và Linux đã làm cho chúng trở nên phổ biến, nhưng biểu thức chính quy có sẵn trong nhiều gói khác nhau, bao gồm cả Microsoft Word.

Biểu thức chính quy được sử dụng đáng chú ý nhất trong một số chương trình Linux đáng chú ý, bao gồm grep, AwkSed.

Ví dụ: bạn có thể muốn kiểm tra các thiết bị USB trên PC của mình. Sử dụng lspci, bạn sẽ thấy danh sách tất cả các thiết bị và bạn sẽ phải tự mình xác định vị trí các mục nhập USB. Thay vào đó, bạn có thể sử dụng cách sau để chỉ hiển thị các thiết bị USB:

Đây là ví dụ đơn giản nhất về RegEx đang hoạt động. Đây là cách phổ biến nhất để sử dụng biểu thức chính quy trong terminal nhưng không phải là cách duy nhất. Ngày nay, bạn có thể tìm thấy sự hỗ trợ của RegEx trong nhiều loại phần mềm khác nhau, từ trình soạn thảo văn bản đến trình quản lý tệp.

Tìm kiếm các mẫu

Bạn có thể đã sử dụng * , hoạt động như một ký tự đại diện khi chọn tệp hoặc thư mục trong thiết bị đầu cuối. Ví dụ: để liệt kê tất cả các tệp JPG trong một thư mục, bạn có thể sử dụng:

RegEx tương đương với ở trên sẽ là:

Để tìm kiếm cả tệp jpg và tệp png, hãy sử dụng:

Các dãy

Nếu bạn muốn tìm kiếm một phạm vi ký tự cụ thể thay vì một mẫu, bạn có thể làm điều đó bằng cách xác định nó trong dấu ngoặc. Ví dụ: nếu bạn sử dụng [a-z] như mẫu của bạn, điều này sẽ khớp với bất kỳ chuỗi nào bao gồm bất kỳ chữ cái viết thường nào của bảng chữ cái.

Như bạn có thể đoán, [A-Z] sẽ chỉ chọn các chữ cái viết hoa. Để chọn bất kỳ dải chữ cái nào, ở cả chữ hoa và chữ thường, biểu thức sẽ thay đổi thành [a-zA-Z].

Để xác định một số trường hợp cụ thể của mẫu của bạn, bạn có thể nêu nó trong dấu ngoặc nhọn. {5} sẽ trả về năm lần xuất hiện của mẫu của bạn. Bạn cũng có thể sử dụng các dãy số, vì vậy {5,10} sẽ giới thiệu cho bạn từ năm đến mười trường hợp.

MetaCharacters

Trong biểu thức chính quy, bạn cũng có thể tìm kiếm các phần của chuỗi có hai ký tự được gọi là siêu ký tự. Chúng tương tự như các đối sánh ký tự đại diện mà bạn có thể đã sử dụng trong shell.

Dấu chấm chính là dấu chấm đơn giản, viết tắt của bất kỳ ký tự đơn nào khác. Nếu bạn đã sử dụng mẫu c.ll, nó sẽ phù hợp cell nhưng cũng cullcall.

Bằng cách nhập dấu hoa thị sau dấu chấm, bạn có thể sử dụng dấu hoa thị để khớp với vô số ký tự. Ví dụ, .*board sẽ là một trận đấu cho cả hai keyboardskateboard. thậm chí nếu keyskate có một số chữ cái khác nhau.

Chạy trốn

Bạn có thể nhận thấy rằng trong ví dụ của chúng tôi, khi chúng tôi chọn các loại tệp hình ảnh khác nhau, chúng tôi đã sử dụng dấu gạch chéo ngược trước dấu chấm (.jpg). Đó là cách bạn thoát các ký tự đặc biệt trong RegEx.

Nếu chúng tôi không sử dụng chúng, mẫu của chúng tôi sẽ không chỉ khớp với phần mở rộng của tệp, các chuỗi như .jpg.png, nhưng cũng sẽ phù hợp ajpgopng. Nhớ lại, . là một ký tự đại diện khớp với bất kỳ ký tự nào.

Neo và ranh giới

Neo và ranh giới cho phép bạn xác định chính xác hơn những gì bạn đang tìm kiếm.

Để chỉ tìm từ riêng lẻ computer, không có ký tự nào khác được đính kèm trước hoặc sau, bạn nên xác định mẫu là <computer>.

Bạn cũng có thể tìm kiếm cụ thể các mẫu xuất hiện ở đầu hoặc cuối dòng. Điều này đạt được với ^$ tương ứng.

Vì vậy, nếu bạn chỉ muốn tìm các mục nhập có từ computer ở đầu dòng, mẫu của bạn sẽ trông giống như ^computer. Ngược lại, khi nó ở cuối dòng, mẫu sẽ thay đổi thành computer$.

Đó là các quy tắc đơn giản của RegEx, bạn cũng có thể kết hợp để tìm ra chính xác các mẫu mà bạn đang tìm kiếm. Bạn có thể tìm kiếm phạm vi ký tự ở đầu dòng hoặc các từ xen kẽ ở cuối, ngày cụ thể hoặc phạm vi năm, bằng cách sử dụng một chuỗi văn bản.

Đừng quên kiểm tra của chúng tôi Cheatsheet Biểu thức chính quy để nắm vững các biểu thức chính quy.

Có liên quan:

Bài viết này có hữu ích không?

Previous articleCách xem mức sử dụng bộ nhớ của các tiện ích mở rộng trong Google Chrome
Next articleCách xem mô tả thông tin hình ảnh trong Chrome