Uso de expressões regulares nos campos de pesquisa do macOS


11

Alguém sabe onde posso encontrar os documentos que descrevem os recursos de análise de Regex dos campos de pesquisa do macOS?

O que quero dizer, eu gostaria de ler sobre as regras de sintaxe da expressão regular que são permitidas e analisadas pelo campo de pesquisa. Por exemplo, o que eu não sabia até hoje que, no macOS Preview (ou em qualquer outro aplicativo com um campo de pesquisa padrão, supondo), podemos usar dados como este:

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

Isso funciona e sugere que os campos de pesquisa interpretam mais regex do que sabemos, e é sobre isso que quero ler / descobrir . O exemplo acima pesquisa "an" com um caractere de espaço \sem branco à esquerda e à esquerda em um documento aberto.

Gostaria de saber mais sobre essas regras de agrupamento e caracteres de regex que envolvem / escapam para que possam ser analisados ​​corretamente. Este formato de entrada também se aplica aos campos de pesquisa em todo o sistema de qualquer aplicativo?

Não consigo encontrar nenhum documento que descreva esses recursos e foi encontrado apenas na biblioteca developer.apple.com .

Abaixo, você pode ver um exemplo do comportamento de pesquisa padrão de uma palavra "an" em um documento PDF, mostrando todas as ocorrências "an" nos resultados, independentemente de você colocar um espaço antes da palavra "an", para que sua entrada seja " a "

insira a descrição da imagem aqui

Quando colocamos "\s" AND "an" AND "\s"no campo de pesquisa, obtemos o resultado de pesquisa mais desejado

comportamento do campo de pesquisa de entrada regex

Isso faz uma enorme diferença para pesquisas que contenham palavras comuns!

Resumindo: gostaria de saber mais sobre a funcionalidade que você vê acima. Onde posso encontrar alguma documentação (oficial) sobre isso?

As respostas fornecidas (até agora) não estão respondendo à minha pergunta, obrigado por elas - agregar mais informações relacionadas é bom.


Este link será de alguma ajuda para você?
Denis Rasulev

Oi Denis, obrigado pelo link, mas este é mais ou menos o manual do posex regex ;-) e se você olhar atentamente para o meu exemplo acima, não é o regex posix, pois a sintaxe comum não está funcionando e é por isso que pergunta está aqui. Não tenho certeza se palavras como AND OR estão no posix regex (corrija-me, se estiver errado) de qualquer maneira. Dito isto, não consigo encontrar as especificidades da sintaxe para esse tipo de campo de pesquisa. É (provavelmente) uma instância do developer.apple.com/reference/appkit/nssearchfield#overview (palpite), mas não consigo descobrir os detalhes da regex.
PJJ

Tem certeza de que estamos falando de regex aqui? Eu tentei o seu exemplo no Preview e algumas variações de expressões regulares, mas nenhuma delas parecia se comportar como uma expressão regular adequada. Isso não responde à sua pergunta, mas pode ajudar a procurar o lugar certo.
Manngo 17/01

Sim, você está certo - e é isso que eu quero descobrir! Onde está um documento descrevendo que tipo de sintaxe é analisada e como? Não é regex posix, mas é suficiente, então o que é? :)
PJJ

Respostas:


2

Eu não sei se você já descobriu isso, mas você só precisa clicar na lupa no campo de pesquisa, ela tem um pequeno sinal de apontamento para baixo, que é a pista, veja esta captura de tela:

insira a descrição da imagem aqui

Depois de clicar em escolher, Insert Patternvocê obtém uma variedade de opções:

Esse é basicamente um regex fácil de usar, ou seja, você recebe tokens que podem ser facilmente organizados em padrões de pesquisa bastante poderosos.

insira a descrição da imagem aqui

O exemplo na captura de tela é TextEdit, mas essa opção não parece estar disponível na visualização.


Oi, obrigado pela resposta longa, mas este é o TextEdit que você está mostrando ... não a janela de pesquisa padrão do sistema como a da opção Visualizar, portanto, não é a resposta que estou procurando. A janela de pesquisa que eu quero dizer é (altamente provável) uma instância de developer.apple.com/reference/appkit/nssearchfield#overview
PJJ
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.