Tôi đã thấy rất nhiều ví dụ về việc tạo toàn bộ biểu thức chính quy không phân biệt chữ hoa chữ thường. Điều tôi băn khoăn là chỉ một phần của biểu thức không phân biệt chữ hoa chữ thường.
Ví dụ: giả sử tôi có một chuỗi như thế này:
fooFOOfOoFoOBARBARbarbarbAr
Điều gì sẽ xảy ra nếu tôi muốn so khớp tất cả các lần xuất hiện của "foo" bất kể chữ hoa và chữ thường nhưng tôi chỉ muốn so khớp với "BAR" chữ hoa?
Giải pháp lý tưởng sẽ là một cái gì đó hoạt động trên các hương vị regex nhưng tôi cũng muốn nghe những thứ dành riêng cho ngôn ngữ (Cảm ơn Espo )
Biên tập
Liên kết Espo cung cấp rất hữu ích. Có một ví dụ điển hình về việc bật và tắt các công cụ sửa đổi trong biểu thức.
Đối với ví dụ giả định của tôi, tôi có thể làm điều gì đó như sau:
(?i)foo*(?-i)|BAR
điều này làm cho đối sánh không phân biệt chữ hoa chữ thường đối với phần foo của trận đấu.
Điều đó dường như hoạt động trong hầu hết các triển khai regex ngoại trừ Javascript, Python và một số ứng dụng khác (như Espo đã đề cập).
Các ứng dụng lớn mà tôi băn khoăn (Perl, PHP, .NET) đều hỗ trợ thay đổi chế độ nội tuyến.