Penggunaan ekspresi reguler di bidang pencarian macOS

11

Adakah yang tahu di mana saya bisa menemukan dokumen yang menggambarkan kemampuan parsing Regex dari bidang pencarian macOS?

Maksud saya, saya ingin membaca tentang aturan sintaksis regex yang diizinkan dan diuraikan oleh bidang pencarian. Sebagai contoh, apa yang saya tidak tahu sampai hari ini bahwa, di macOS Preview (atau aplikasi lain dengan bidang pencarian standar, menebak) kita dapat menggunakan input seperti ini:

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

Ini berfungsi dan mengisyaratkan bahwa bidang pencarian menafsirkan regex lebih banyak dari yang kita tahu, dan inilah yang ingin saya baca / cari tahu . Contoh di atas mencari "an" dengan satu karakter spasi trailing dan terdepan \sdalam dokumen yang dibuka.

Saya ingin tahu lebih banyak tentang aturan pengelompokan dan regex karakter pembungkus / pelarian sehingga dapat diuraikan dengan benar. Juga apakah format input ini berlaku untuk bidang pencarian di seluruh sistem aplikasi apa pun?

Saya tidak dapat menemukan dokumen yang menjelaskan fitur ini dan hanya ditemukan di perpustakaan developer.apple.com saja.

Di bawah ini Anda dapat melihat contoh perilaku pencarian default untuk kata "an" dalam dokumen PDF, itu menunjukkan semua kejadian "an" dalam hasil, terlepas jika Anda memberi spasi sebelum kata "an", jadi input Anda adalah " sebuah "

masukkan deskripsi gambar di sini

Ketika kami memasukkan "\s" AND "an" AND "\s"ke dalam kolom pencarian, kami mendapatkan hasil pencarian yang lebih diinginkan

regex input perilaku bidang pencarian

Ini membuat perbedaan besar untuk pencarian yang mengandung kata-kata umum!

Singkatnya: Saya ingin tahu lebih banyak tentang fungsi yang Anda lihat di atas. Di mana saya dapat menemukan dokumentasi (resmi) tentang hal itu?

Jawaban yang diberikan (sejauh ini) tidak menjawab pertanyaan saya, terima kasih untuk mereka - mengumpulkan lebih banyak informasi terkait adalah baik.

PJJ
sumber
Apakah tautan ini dapat membantu Anda?
Denis Rasulev
Hai Denis, terima kasih atas tautannya- tetapi ini kurang lebih adalah manual posix regex ;-) dan jika Anda perhatikan dengan teliti contoh saya di atas - ini bukan posix regex- karena sintaksis umum tidak berfungsi dan itu sebabnya pertanyaan ada di sini. Saya tidak yakin apakah kata-kata seperti DAN ATAU berada di posix regex (koreksi saya, jika saya salah). Yang sedang berkata - Saya tidak dapat menemukan spesifik sintaks untuk bidang pencarian semacam ini. Ini (mungkin) adalah instance dari developer.apple.com/reference/appkit/nssearchfield#overview (tebak) tapi saya tidak bisa menggali spesifik regex.
PJJ
Apakah Anda yakin sedang membicarakan regex di sini? Saya mencoba contoh Anda di Pratinjau, dan beberapa variasi regex, tetapi tidak satupun dari mereka yang berperilaku sebagai ekspresi reguler yang tepat. Itu tidak menjawab pertanyaan Anda, tetapi mungkin membantu dalam mencari di tempat yang tepat.
Manngo
Ya, Anda benar - dan ini yang ingin saya ketahui! Di mana dokumen yang menjelaskan jenis sintaksis yang diuraikan dan bagaimana? Itu bukan posix regex, tapi cukup regex-ish, jadi apa itu? :)
PJJ

Jawaban:

2

Saya tidak tahu apakah Anda sudah menemukan ini tetapi Anda hanya perlu mengklik pada kaca pembesar di bidang pencarian, ia memiliki tanda titik bawah kecil yang merupakan petunjuk, lihat tangkapan layar ini:

masukkan deskripsi gambar di sini

Setelah mengklik pilih Insert Patterndan Anda mendapatkan berbagai opsi:

Ini pada dasarnya adalah regex yang mudah digunakan, yaitu Anda mendapatkan token yang dapat dengan mudah Anda atur menjadi pola pencarian yang cukup kuat.

masukkan deskripsi gambar di sini

Contoh dalam tangkapan layar adalah TextEdit namun opsi ini tampaknya tidak tersedia di Pratinjau.

demianturner
sumber
Hai terima kasih atas jawaban yang panjang, TETAPI ini TextEdit yang Anda tunjukkan ... bukan jendela pencarian sistem-default seperti yang ada di opsi Preview, oleh karena itu bukan jawaban yang saya cari. Jendela pencarian yang saya maksud adalah (sangat mungkin) adalah instance dari developer.apple.com/reference/appkit/nssearchfield#overview
PJJ