Использование регулярных выражений в полях поиска macOS


11

Кто-нибудь знает, где я могу найти документы, описывающие возможности синтаксического анализа Regex полей поиска macOS?

Что я имею в виду, я хотел бы прочитать о правилах синтаксиса регулярных выражений, которые разрешены и проанализированы в поле поиска. Например, то, что я до сегодняшнего дня не знал, что в macOS Preview (или в любом другом приложении со стандартным полем поиска, предположим) мы можем использовать такой ввод:

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

Это работает и намекает на то, что поля поиска интерпретируют больше регулярных выражений, чем мы знаем, и это то, о чем я хочу прочитать / узнать . В приведенном выше примере выполняется поиск «an» с одним последним и начальным пробельным символом \sв открытом документе.

Я хотел бы узнать больше о правилах группировки и обтекании / экранировании символов регулярных выражений, чтобы их можно было правильно проанализировать. Также этот формат ввода применяется к системным полям поиска любого приложения?

Я не могу найти никаких документов, описывающих эти функции, и нашел только это в библиотеке developer.apple.com .

Ниже вы можете увидеть пример поведения поиска по умолчанию для слова «an» в документе PDF, оно показывает все вхождения «an» в результатах, независимо от того, поставили ли вы пробел перед словом «an», поэтому ваш ввод - « "

введите описание изображения здесь

Когда мы помещаем "\s" AND "an" AND "\s"в поле поиска, мы получаем более желаемый результат поиска

поведение поля поиска в регулярном выражении

Это имеет огромное значение для поиска, содержащего общие слова!

Вкратце: я хотел бы узнать больше о функциональности, которую вы видите выше. Где я могу найти любую (официальную) документацию об этом?

Предоставленные ответы (пока) не отвечают на мой вопрос, спасибо за них, хотя - собирать больше связанной информации - это хорошо.


Поможет ли вам эта ссылка ?
Денис Расулев

Привет, Денис, спасибо за ссылку, но это более или менее руководство по posix regex ;-), и если вы внимательно посмотрите на мой пример выше - это не posix regex, поскольку общий синтаксис не работает, и именно поэтому вопрос здесь. Я не уверен, что такие слова, как ИЛИ, находятся в регулярном выражении posix (поправьте меня, если я ошибаюсь). При этом я не могу найти специфику синтаксиса для этого вида поля поиска. Это (вероятно) экземпляр developer.apple.com/reference/appkit/nssearchfield#overview (угадайте), но я не могу разобраться в особенностях регулярных выражений.
PJJ

Вы уверены, что мы говорим о регулярных выражениях здесь? Я попробовал ваш пример в Preview и несколько вариантов регулярных выражений, но ни один из них, похоже, не вел себя как правильное регулярное выражение. Это не отвечает на ваш вопрос, но может помочь в поиске в нужном месте.
Маннго

Да, вы правы - и это то, что я хочу узнать! Где находится документ, описывающий, какой синтаксис анализируется и как? Это не регулярное выражение posix, но достаточно регулярное выражение, так что же это? :)
PJJ

Ответы:


2

Я не знаю, обнаружили ли вы это уже, но вам просто нужно нажать на увеличительное стекло в поле поиска, у него есть небольшая направленная вниз каретка, которая является подсказкой, см. Этот скриншот:

введите описание изображения здесь

После нажатия выберите Insert Patternи вы получите ряд вариантов:

Это в основном удобное для пользователя регулярное выражение, то есть вы получаете токены, которые вы легко можете объединить в довольно мощные шаблоны поиска.

введите описание изображения здесь

Пример на скриншоте - TextEdit, однако эта опция недоступна в Preview.


Привет, спасибо за длинный ответ, НО это TextEdit, который вы показываете ... а не системное окно поиска по умолчанию, как в окне предварительного просмотра, поэтому это не тот ответ, который я ищу. Окно поиска, которое я имею в виду, является (весьма вероятным) экземпляром developer.apple.com/reference/appkit/nssearchfield#overview
PJJ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.