16 votos

Uso de expresiones regulares en los campos de búsqueda de MacOS

¿Alguien sabe dónde puedo encontrar los documentos que describen las capacidades de análisis de Regex de los campos de búsqueda de MacOS?

Lo que quiero decir es que me gustaría leer sobre las reglas de sintaxis regex que se permiten y son analizadas por el campo de búsqueda. Por ejemplo, lo que no sabía hasta hoy que, en MacOS Preview (o cualquier otra aplicación con un campo de búsqueda estándar, adivinando) podemos utilizar la entrada así:

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

Esto funciona y sugiere que los campos de búsqueda interpretan más regex de lo que sabemos, y esto es lo que quiero leer/descubrir . El ejemplo anterior busca "an" con un carácter de espacio en blanco inicial y final \s dentro de un documento abierto.

Me gustaría saber más sobre esas reglas de agrupación y envoltura/escapado de caracteres regex para que se pueda analizar correctamente. Además, ¿este formato de entrada se aplica a los campos de búsqueda de todo el sistema de cualquier aplicación?

No puedo encontrar ningún documento que describa estas características y sólo he encontrado esto en desarrollador.apple.com biblioteca en su lugar.

A continuación puede ver un ejemplo de por defecto comportamiento de búsqueda de una palabra "an" dentro de un documento PDF, muestra todos ocurrencias de "an" en los resultados, independientemente de si se pone un espacio antes de la palabra "an", por lo que su entrada es " y "

enter image description here

Cuando ponemos "\s" AND "an" AND "\s" en el campo de búsqueda obtenemos el resultado de búsqueda más deseado

regex input search field behaviour

Esto supone una gran diferencia para las búsquedas que contienen palabras comunes.

En resumen: Me gustaría saber más sobre la funcionalidad que se ve arriba. ¿Dónde puedo encontrar alguna documentación (oficial) al respecto?

Las respuestas proporcionadas (hasta el momento) no responden a mi pregunta, pero gracias por ellas - agregar más información relacionada es bueno.

0 votos

¿Esta enlace ¿le puede servir de ayuda?

0 votos

Hola Denis, gracias por el enlace- pero esto es más o menos el manual de posix regex ;-) y si te fijas bien en mi ejemplo de arriba- no es posix regex- ya que la sintaxis común no funciona y por eso la pregunta está aquí. No estoy seguro si palabras como AND OR están en posix regex (corrígeme, si me equivoco) de todos modos. Dicho esto, no puedo encontrar los detalles de la sintaxis para este tipo de campo de búsqueda. Es (probablemente) una instancia de developer.apple.com/reference/appkit/nssearchfield#overview (suposición) pero no puedo desenterrar los detalles de la regex.

0 votos

¿Estás seguro de que estamos hablando de regex aquí? Probé tu ejemplo en Vista Previa, y algunas variaciones de regex, pero ninguna de ellas parecía comportarse como una expresión regular adecuada. Eso no responde a tu pregunta, pero podría ayudar a buscar en el lugar correcto.

4voto

demianturner Puntos 469

No sé si ya lo has descubierto, pero sólo tienes que hacer clic en la lupa del campo de búsqueda, tiene un pequeño signo de interrogación hacia abajo que es la pista, mira esta captura de pantalla:

enter image description here

Después de hacer clic en elegir Insert Pattern y se obtiene un abanico de opciones:

Se trata básicamente de un regex fácil de usar, es decir, se obtienen tokens que se pueden organizar fácilmente en patrones de búsqueda bastante potentes.

enter image description here

El ejemplo de la captura de pantalla es TextEdit, sin embargo esta opción no parece estar disponible en Vista Previa.

1 votos

Hola- gracias por la larga respuesta, PERO esto que muestras es TextEdit... no la ventana de búsqueda por defecto del sistema como la de la opción Vista Previa, por lo tanto no es la respuesta que busco. La ventana de búsqueda a la que me refiero es (muy probablemente) una instancia de developer.apple.com/reference/appkit/nssearchfield#overview

1voto

gaspanic Puntos 6

Este artículo del soporte técnico de Apple sobre cómo Acotar los resultados de la búsqueda en Mac es la documentación más detallada que he podido encontrar sobre Buscador búsquedas. Mientras que el OP está preguntando principalmente sobre las búsquedas de expresiones regulares en Vista Previa, el título de la pregunta me trajo aquí buscando la misma información para las búsquedas en el Finder.

La última sección sobre los operadores booleanos ( Búsqueda mediante AND, OR y NOT ) es relevante también para la Vista Previa, aunque su utilidad para la búsqueda de texto es bastante cuestionable. No se mencionan las expresiones regulares, por lo que supongo que no son compatibles con los campos de búsqueda de MacOS.

0 votos

Me alegro mucho de que Apple actualice la documentación sobre Spotlight. Tener dos idiomas de búsqueda incluidos hace que sea difícil de usar en ocasiones.

0voto

Ted Wrigley Puntos 101

Esto no son expresiones regulares; me temo que te has engañado a ti mismo. en la mayoría de las aplicaciones de documentos de Apple, hay una distinción entre la búsqueda de "..." (entre comillas) ... (introducido sin comillas). La primera buscará el texto encerrado como una palabra; la segunda busca el texto sin tener en cuenta los límites de la palabra.

Así, cuando introducimos lo siguiente:

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

el analizador sintáctico busca una palabra literal s (ignorando la barra invertida), entonces la palabra an luego otra palabra literal s . Dado que es extremadamente improbable encontrar "s" como palabra independiente, el resultado es exactamente el mismo que si simplemente hubiéramos introducido:

"an"

pero diferente de lo que ocurre si entramos:

an

Confuso, lo sé...

0 votos

En realidad, \s no se supone que sea un carácter de control. Como también escribí en un comentario a la pregunta de la OP, "\s" busca la palabra s ignorando por completo el carácter de la barra invertida.

0 votos

@gaspanic: Ah, eso tiene sentido; gracias. Lo editaré.

0 votos

Gentelmen, creo que tienes razón en esto; puede que me haya confundido pensando que en realidad es RE - PERO - ¿has hecho alguna prueba dentro de los MacOS recientes (BigSur/Catalina)?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X