Sử dụng các biểu thức chính quy trong các trường tìm kiếm macOS


11

Có ai biết nơi tôi có thể tìm thấy các tài liệu mô tả khả năng phân tích cú pháp Regex của các trường tìm kiếm macOS không?

Ý tôi là, tôi muốn đọc về các quy tắc cú pháp regex được cho phép và phân tích cú pháp bởi trường tìm kiếm. Ví dụ, những gì tôi không biết cho đến ngày hôm nay rằng, trong macOS Preview (hoặc bất kỳ ứng dụng nào khác có trường tìm kiếm tiêu chuẩn, đoán) chúng ta có thể sử dụng đầu vào như thế này:

"\s" AND "an" AND "\s"

Điều này hoạt động và gợi ý rằng các trường tìm kiếm giải thích nhiều regex hơn sau đó chúng ta biết, và đây là những gì tôi muốn đọc / tìm hiểu về . Ví dụ trên tìm kiếm "an" với một ký tự khoảng trắng và dấu đầu \strong một tài liệu đã mở.

Tôi muốn biết thêm về các quy tắc nhóm và các ký tự regex gói / thoát để nó có thể được phân tích cú pháp chính xác. Ngoài ra định dạng đầu vào này có áp dụng cho các trường tìm kiếm trên toàn hệ thống của bất kỳ ứng dụng nào không?

Tôi không thể tìm thấy bất kỳ tài liệu nào mô tả các tính năng này và chỉ được tìm thấy trên thư viện developer.apple.com .

Dưới đây bạn có thể thấy một ví dụ về hành vi tìm kiếm mặc định cho một từ "một" trong tài liệu PDF, nó hiển thị tất cả các lần xuất hiện "an" trong kết quả, bất kể bạn đặt khoảng trắng trước từ "an", vì vậy đầu vào của bạn là " một "

nhập mô tả hình ảnh ở đây

Khi chúng tôi đưa "\s" AND "an" AND "\s"vào trường tìm kiếm, chúng tôi nhận được kết quả tìm kiếm mong muốn hơn

regex hành vi trường tìm kiếm đầu vào

Điều này tạo ra một sự khác biệt lớn cho các tìm kiếm có chứa các từ phổ biến!

Tóm lại: Tôi muốn biết thêm về chức năng bạn thấy ở trên. Tôi có thể tìm thấy bất kỳ tài liệu (chính thức) nào về nó?

Các câu trả lời được cung cấp (cho đến nay) không trả lời câu hỏi của tôi, cảm ơn bạn vì chúng - tổng hợp nhiều thông tin liên quan là tốt.


Liên kết này sẽ giúp ích cho bạn chứ?
Denis Rasulev

Xin chào Denis, cảm ơn bạn đã liên kết- nhưng đây ít nhiều là hướng dẫn regex posix ;-) và nếu bạn xem xét kỹ ví dụ của tôi ở trên- nó không phải là regix regex- vì cú pháp chung không hoạt động và đó là lý do tại sao câu hỏi ở đây Tôi không chắc chắn nếu các từ như VÀ HOẶC nằm trong regex regex (sửa tôi, nếu tôi sai) dù sao đi nữa. Điều đó đang được nói - Tôi không thể tìm thấy chi tiết cụ thể của cú pháp cho loại trường tìm kiếm này. Đây có thể là một ví dụ của developer.apple.com/reference/appkit/nssearchfield#overview (đoán) nhưng tôi không thể khai thác chi tiết cụ thể về regex.
PJJ

Bạn có chắc chắn rằng chúng ta đang nói về regex ở đây? Tôi đã thử ví dụ của bạn trong Bản xem trước và một vài biến thể regex, nhưng không ai trong số chúng dường như hoạt động như một biểu thức chính quy thông thường. Điều đó không trả lời câu hỏi của bạn, nhưng có thể giúp tìm kiếm đúng nơi.
Manngo

Vâng, bạn đã đúng - và đây là những gì tôi muốn tìm hiểu! Tài liệu mô tả loại cú pháp được phân tích cú pháp ở đâu và như thế nào? Nó không phải là regex regix, nhưng nó là regex-ish đủ, vậy nó là gì? :)
PJJ

Câu trả lời:


2

Tôi không biết nếu bạn đã phát hiện ra điều này rồi nhưng bạn chỉ cần nhấp vào kính lúp trong trường tìm kiếm, nó có một dấu mũ nhỏ hướng xuống là đầu mối, xem ảnh chụp màn hình này:

nhập mô tả hình ảnh ở đây

Sau khi nhấp vào chọn Insert Patternvà bạn nhận được một loạt các tùy chọn:

Đây về cơ bản là regex thân thiện với người dùng, tức là bạn nhận được mã thông báo, bạn có thể dễ dàng sắp xếp thành các mẫu tìm kiếm khá mạnh mẽ.

nhập mô tả hình ảnh ở đây

Ví dụ trong ảnh chụp màn hình là TextEdit tuy nhiên tùy chọn này dường như không có sẵn trong Bản xem trước.


Xin chào, cảm ơn bạn đã trả lời dài, NHƯNG đây là TextEdit bạn đang hiển thị ... không phải cửa sổ tìm kiếm mặc định hệ thống như cửa sổ trong tùy chọn Xem trước, do đó nó không phải là câu trả lời tôi đang tìm kiếm. Cửa sổ tìm kiếm mà tôi muốn nói là (rất có thể) là một phiên bản của developer.apple.com/reference/appkit/nssearchfield#overview
PJJ
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.