Dấu hoa thị chỉ là một toán tử lặp lại , nhưng bạn cần cho nó biết những gì bạn lặp lại. /*abc*/khớp với một chuỗi có chứa ab và không hoặc nhiều hơn c (vì * thứ hai nằm trên c; chuỗi đầu tiên là vô nghĩa vì không có gì để lặp lại). Nếu bạn muốn khớp với bất kỳ thứ gì, bạn cần phải nói .*- dấu chấm có nghĩa là bất kỳ ký tự nào ( trong một số nguyên tắc nhất định ). Nếu bạn muốn chỉ khớp với abc, bạn có thể nói grep 'abc' myFile. Đối với kết hợp phức tạp hơn, bạn cần sử dụng .*- grep 'abc.*def' myFilesẽ so khớp một chuỗi chứa abc theo sau là def với một cái gì đó tùy chọn ở giữa.
Cập nhật dựa trên nhận xét:
*trong một biểu thức chính quy không hoàn toàn giống với * trong bảng điều khiển. Trong bảng điều khiển, * là một phần của cấu trúc hình cầu và chỉ hoạt động như một ký tự đại diện (ví dụ: ls *.logsẽ liệt kê tất cả các tệp kết thúc bằng .log). Tuy nhiên, trong biểu thức chính quy, * là một bổ ngữ, có nghĩa là nó chỉ áp dụng cho ký tự hoặc nhóm đứng trước nó. Nếu bạn muốn * trong biểu thức chính quy hoạt động như một ký tự đại diện, bạn cần sử dụng .*như đã đề cập trước đó - dấu chấm là một ký tự đại diện và dấu sao, khi sửa đổi dấu chấm, có nghĩa là tìm một hoặc nhiều dấu chấm; I E. tìm một hoặc nhiều ký tự bất kỳ.